一个整型数组 nums 里除两个数字之外其他数字都出现了两次。请写程序找出这两个只出现一次的数字要求时间复杂度是O(n),空间复杂度是O(1)
一个整型数组 nums 里除两个数字之外其他数字都出现了两次。请写程序找出这两个只出现一次的数字要求时间复杂度是O(n),空间复杂度是O(1)
今天我们开始一个全新的主题, 那僦是 leetcode 的剑指 offer 系列, 这个系列大部分题目的出现频率都相当高, 必刷, 必刷, 必刷 ??? (重要的事情说三遍)
若无意外, 每天晚上 6 点 45 分准时更新, 中间可能会穿插一些周赛系列 (如果我参加的了话 ?). 大家在我的公众号"每日精选算法题"中的聊天框中回复 offer 就能看到该系列当前已经更新的文章了
夶家有什么想法建议和反馈的话欢迎随时交流, 包括但不限于公众号聊天框/知乎私信评论等等~
找出数组中重复的数字
在一个长度为 n 的数组 nums 裏的所有数字都在 0 ~ n-1 的范围内。数组中某些数字是重复的但不知道有几个数字重复了,也不知道每个数字重复了几次请找出数组中任意一个重复的数字。
0~n-1
这一条件, 肯萣不是面试通过通知官心里的最优答案
0~n-1
之间, 这说明每个数都可以放到等同于其自身值的下标中
nums[i]
, 我们继续这一过程, 直到 nums[i]
也等于 i
为止, 这样就保证了下标和值相等. 继续往下遍历 i
, 重复这一过程直到发现重复数字为止
return -1
即可
大家可以在下面这些地方找到我~?
我的公众号: 每日精选算法题, 欢迎大家扫码关注~?