给你一个整数数组 nums 。如果数字 x 在数组中仅出现 一次 ,且没有 相邻 数字(即,x + 1 和 x - 1)出现在数组中,则认为数字 x 是 孤独数字 。

返回 nums 中的 所有 孤独数字。你可以按 任何顺序 返回答案。

示例 1:

输入:nums = [10,6,5,8]
输出:[10,8]
解释:
- 10 是一个孤独数字,因为它只出现一次,并且 9 和 11 没有在 nums 中出现。
- 8 是一个孤独数字,因为它只出现一次,并且 7 和 9 没有在 nums 中出现。
- 5 不是一个孤独数字,因为 6 出现在 nums 中,反之亦然。
因此,nums 中的孤独数字是 [10, 8] 。
注意,也可以返回 [8, 10] 。

示例 2:

输入:nums = [1,3,5,3]
输出:[1,5]
解释:
- 1 是一个孤独数字,因为它只出现一次,并且 0 和 2 没有在 nums 中出现。
- 5 是一个孤独数字,因为它只出现一次,并且 4 和 6 没有在 nums 中出现。
- 3 不是一个孤独数字,因为它出现两次。
因此,nums 中的孤独数字是 [1, 5] 。
注意,也可以返回 [5, 1] 。

提示:

  • 1 <= nums.length <= 10^5
  • 0 <= nums[i] <= 10^6

题解:创建一个数组data,注意创建数组的范围,大于nums里面元素的最大值。然后将nums的数值当成索引,统计次数到data里,再进行遍历即可。

code: 

class Solution {public List<Integer> findLonely(int[] nums) {int[] data = new int[1000000 + 1];for (int num : nums) {data[num]++;}List<Integer> result = new ArrayList();if (data[0] == 1 && data[1] == 0) {result.add(0);} if (data[data.length - 1] == 1 && data[data.length - 2] == 0) {result.add(data.length - 1);}for (int i = 1; i < data.length - 1; i++) {if(data[i] == 1 && data[i - 1] == 0 && data[i + 1] == 0) {result.add(i);}}return result;}
}

5990. 找出数组中的所有孤独数字相关推荐

  1. LeetCode 2150. 找出数组中的所有孤独数字(哈希)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个整数数组 nums .如果数字 x 在数组中仅出现 一次 ,且没有 相邻 数字(即,x + 1 和 x - 1)出现在数组中,则认为数字 x 是 ...

  2. 找出数组中任一重复的数字

    找出数组中任一重复的数字 找出数组中任一重复的数字   在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重 ...

  3. [LeetCode] Find All Numbers Disappeared in an Array 找出数组中所有消失的数字

    Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and ot ...

  4. java 数组不重复_java如何找出数组中的不重复数字

    找出数组中不重复的一个数字,题目大致是这样的:int[] a = { 1, 2, 3, 4, 3, 2, 1 }; 在线视频教程推荐:java在线学习 解决办法是:public static int ...

  5. java数组出现次数最多的数_找出数组中出现次数最多的那个数——主元素问题...

    方法一:以空间换时间,可以定义一个计数数组int count[101],用来对数组中数字出现的次数进行计数(只能针对数组中数字的范围1~100),count数组中最大的元素对应的下标,即为出现次数最多 ...

  6. 找出数组中重复的数字---多思路

    问题:找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意 ...

  7. 找出重复的数java_剑指offer:1.找出数组中重复的数(java版)

    数组中重复的数: 题目:找出数组中重复的数, 题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的. 也不知道每个数字重复几次.请找 ...

  8. 剑指offer 面试题三 找出数组中重复的数字

    1 import org.junit.Test; 2 3 import java.util.Arrays; 4 import java.util.HashSet; 5 6 public class D ...

  9. 9.11排序与查找(三)——给定一个排序后的数组,包括n个整数,但这个数组已被旋转过多次,找出数组中的某个元素...

    /**  * 功能:给定一个排序后的数组.包括n个整数.但这个数组已被旋转过多次,次数不详.找出数组中的某个元素.  * 能够假定数组元素原先是按从小到大的顺序排列的.  */ /*** 思路:数组被 ...

  10. 找出数组中出现次数超过一半的数

    算法--找出数组中出现次数超过一半的数      每当我看到经典的算法题,就怀念高中,感觉很多算法题就是高中的题目,谁叫哥只读了个专科,高数基本相当没学.      有空要看看高数啊,想当年数学那是相 ...

最新文章

  1. 借力5G,云VR将推动VR产业迎“第二春”
  2. Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Find/undo事件)
  3. beoplay(BO)耳机拒绝配对的解决方法
  4. DirectXInput
  5. 华为机试——简单密码
  6. vSAN 6.7培训_第1章-Virtual SAN各版本功能介绍
  7. html登录选项卡实例,html+JQuery登录实例
  8. .net 安装remoting服务
  9. RHEL6.3更换163 centos源或本地源(适用rhel7)
  10. Qt4 在x86和arm平台上的一些配置
  11. python爬虫,以某小说网站为例
  12. 纯代码给wordpress增加说说/微博/微语功能
  13. getBytes方法
  14. heur.riskfm.bbx病毒解决方案--www.baoluowanxiang.com
  15. 弘辽科技:改淘宝宝贝副标题有影响吗?如何修改宝贝标题没影响?
  16. Java Web之JSP技术
  17. C / C ++和应用程序中的INT_MAX和INT_MIN
  18. python实现简易聊天需要登录_python socket编程 实现简单p2p聊天程序
  19. 【新鲜出炉】北达软2011年EA公开课计划-中国EA专家
  20. 基于OpenGL的LS分形演示程序

热门文章

  1. “VBE6EXT.OLB不能被加载”解决方法
  2. uva 1589 - Xiangqi(象棋)
  3. 聊聊IT外包公司(外包公司的运作模式和赚钱之道)
  4. 服务器背板电源维修,814835-B21 814832-001 DD-2901-3C-LF G9 HPE服务器电源背板
  5. 夏令营501-511NOIP训练18
  6. 2021年北京市企业技术中心申报时间及条件是什么
  7. mysql 三元_三元联系简介
  8. android 锁屏代码分析,锁屏分析(Android9.0)
  9. (转)屈子:独立人格可与日月争光
  10. nginx实现301域名跳转