算法---找出数组中的所有孤独数字(Kotlin)
题目
给你一个整数数组 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 <= 105
0 <= nums[i] <= 106
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/find-all-lonely-numbers-in-the-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解决思路
使用Map就可以解决
解决方法
fun findLonely(nums: IntArray): List<Int> {var map = HashMap<Int, Int>()nums.forEach {map[it] = map.getOrDefault(it, 0) + 1}var result = ArrayList<Int>()map.forEach { (k, v) ->
// println("$k $v")if (v == 1 && map.getOrDefault(k + 1, 0) == 0 && map.getOrDefault(k -1, 0) == 0){result.add(k)}}return result}
总结
1.来个算法,找出孤单的人? 我还是在榜上的。
周六日窝在家实在没意思,来公司吧,点外卖吃,贵就贵吧
但是在这个破城市 不努力的话
混日子有什么意思呢?为的就是留在这里 要么CF自由
2.一个人成长的时候 注定要孤独
3.看到别人备孕都是锻炼身体,吃什么补身体,我觉得,学点育儿教育,学习怎么去教育一个孩子,更加重要。
算法---找出数组中的所有孤独数字(Kotlin)相关推荐
- LeetCode 2150. 找出数组中的所有孤独数字(哈希)
文章目录 1. 题目 2. 解题 1. 题目 给你一个整数数组 nums .如果数字 x 在数组中仅出现 一次 ,且没有 相邻 数字(即,x + 1 和 x - 1)出现在数组中,则认为数字 x 是 ...
- 找出数组中任一重复的数字
找出数组中任一重复的数字 找出数组中任一重复的数字 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重 ...
- [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 ...
- java 数组不重复_java如何找出数组中的不重复数字
找出数组中不重复的一个数字,题目大致是这样的:int[] a = { 1, 2, 3, 4, 3, 2, 1 }; 在线视频教程推荐:java在线学习 解决办法是:public static int ...
- 找出数组中出现次数超过一半的数
算法--找出数组中出现次数超过一半的数 每当我看到经典的算法题,就怀念高中,感觉很多算法题就是高中的题目,谁叫哥只读了个专科,高数基本相当没学. 有空要看看高数啊,想当年数学那是相 ...
- C++找出数组中的第一个非重复整数的算法(附完整源码)
C++找出数组中的第一个非重复整数的算法 C++找出数组中的第一个非重复整数的算法完整源码(定义,实现,main函数测试) C++找出数组中的第一个非重复整数的算法完整源码(定义,实现,main函数测 ...
- 找出数组中第i小元素(时间复杂度Θ(n)--最坏情况为线性的选择算法
找出数组中第i小元素 期望时间复杂度:Θ(n) 最坏情况的时间复杂度Θ(n^2) int randomized_select(int *array,int start,int end,int inde ...
- 【408计算机考研】|【2018统考真题-41】| 给定一个含 n(n≥1)个整数的数组,请设计一个在时间上尽可能高效的算法,找出数组中未出现的最小正整数
目录 一.题目 二.解答 三.测试数据 一.题目 给定一个含 n(n≥1)个整数的数组,请设计一个在时间上尽可能高效的算 法,找出数组中未出现的最小正整数.例如,数组{-5, 3, 2, 3}中未 ...
- 给定一个含n(n≥1)个整数的数组,请设计一个在时间上尽可能高效的算法,找出数组中未出现的最小正整数。
笔者初涉<算法设计与分析>这门专业课,在做一些算法设计题的过程中遇到一些小感悟,特此记录和大家分享. 下面直接给出算法题目: 给定一个含n(n≥1)个整数的数组,请设计一个在时间上尽可能高 ...
- java 算法之找出数组中第二大的数
1.如果仅考虑实现功能而不考虑效率,可以先通过排序算法将数组排序,然后根据数组下标来访问数组中第二大的数,,最快的排序算法一般为快速排序算法,但是其时间复杂度为(nlogn),根据下标访问需要便利一遍 ...
最新文章
- MDX学习笔记(整理) MDX语法
- Hibernate最佳实践
- 位操作的应用:判断一个数是不是2的幂数,实现循环移位【位操作】(55)
- 什么是Pro*C/C++,嵌入式SQL,第一个pro*c程序,pro*c++,Makefile,Proc增删改查
- 使用二维码识别技术的好处_人脸识别技术什么场景都能使用吗?
- java面试题2014_Java生态系统– 2014年我的5大亮点
- xhtmlrenderer + iText-HTML转PDF
- 西南交通大学计算机网络,西南交通大学计算机网络实验2015-2016第2学期期末试卷...
- ASP.NET MVC5总结(二)@HTML扩展
- §3—1 复式记账法 [第三章 复式记账 ]
- 巧用JSON.stringify()生成漂亮格式的JSON字符串
- Git学习笔记:版本回滚
- linux中ftp禁止匿名,linux下禁止root和匿名用户登录ftp
- libcef-Vs2017-下载编译第一个libcef3项目
- 拉普拉斯变换 性质 及常用函数变换
- Stratified Transformer复现和调试记录,ubuntu20复现S3DIS数据集(点云语义分割)
- 转://Oracle 11gR2 硬件导致重新添加节点
- 美狐美颜SDK滤镜、哈哈镜功能算法分析
- 连接器是什么?连接器有什么作用?
- Latex(Ctex)出现编译错误 ! Misplaced alignment tab character .
热门文章
- java实现学生信息管理系统
- BIOS设置中功能的翻译及介绍
- 解决:Establishing SSL connection without server‘s identity verification is not recommended警告
- 分组密码算法CBC密文窃取模式(Ciphertext Stealing for CBC Mode)研究
- EXCEL常见函数之逻辑函数
- mysql数据库应用(六)----操作表的约束
- 节奏大师显示服务器,节奏大师上线首日登录困难 服务器拖累腾讯游戏
- 必应搜索昨晚开始恢复正常访问
- python flag用法_Python之FLAGS用法
- Java华氏度与摄氏度之间的转换