博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
633. 寻找重复的数
阅读量:6914 次
发布时间:2019-06-27

本文共 655 字,大约阅读时间需要 2 分钟。

给出一个数组 nums 包含 n + 1 个整数,每个整数是从 1到 n (包括边界),保证至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。

 注意事项

1.不能修改数组(假设数组只能读)

2.只能用额外的O(1)的空间
3.时间复杂度小于O(n^2)
4.数组中只有一个重复的数,但可能重复超过一次

 
样例

给出 nums = [5,5,4,3,2,1],返回 5.

给出 nums = [5,4,4,3,2,1],返回 4.

 

1     int findDuplicate(vector
&nums) { 2 // write your code here 3 int left=1,right=nums.size()-1; 4 int mid=left+(right-left)/2; 5 int left_num; 6 while(left

自己没想出来,照着网上的思路写了一个

left是1,right是n。mid算出来以后遍历数组,看有多少小于等于它的,如果统计的数量小于等于mid这个数的本身,就说明重复的数在比mid大的那边。

于是就left=mid+1(因为不够嘛所以不要了)或者right=mid。最后left=right的值就是所求

转载于:https://www.cnblogs.com/TheLaughingMan/p/8183157.html

你可能感兴趣的文章
Java多线程(二)
查看>>
《http权威指南》阅读笔记(七)
查看>>
在Eclipse中安装ADT
查看>>
[case48]聊聊flink的SocketClientSink
查看>>
怎样给Swagger换皮肤?
查看>>
网络协议 15 - P2P 协议:小种子大学问
查看>>
# 编写第一个Chrome Extension
查看>>
Python--Redis实战:第五章:使用Redis构建支持程序:第1节:使用Redis来记录日志...
查看>>
2019 简易Web开发指南
查看>>
H5拍照、选择图片上传组件核心
查看>>
单词纠错
查看>>
你可能不知道的14个JavaScript调试技巧
查看>>
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG
查看>>
根据背景颜色的亮度调整字体的颜色
查看>>
python requests socks代理
查看>>
PHP socket初探 --- 含着泪也要磕完libevent(三)
查看>>
白鹭引擎王泽:重度H5游戏性能优化技巧
查看>>
PHP编译参数configure配置详解(持续更新中)
查看>>
ios 服务器端php推送证书生成
查看>>
多列布局(column)
查看>>