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

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

传送门:

给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。

示例 1:

输入: [1,3,4,2,2]

输出: 2
示例 2:

输入: [3,1,3,4,2]

输出: 3
说明:

不能更改原数组(假设数组是只读的)。

只能使用额外的 O(1) 的空间。
时间复杂度小于 O(n2) 。
数组中只有一个重复的数字,但它可能不止重复出现一次。

我的实现方法之前写的博客也有,前提是数组中最大的 数要小于数组长度

int findDuplicate(int* nums, int numsSize) {    int k, yl, sl;    for (int n=0;n
> 16; sl++; nums[k]=(sl<<16) |(yl&0xffff ); } for (int g=0;g< numsSize;g++) { k = nums[g]; yl = k >> 16; if (yl > 1) { printf("%d\n", g); return g; } } return 0;}

LeetCode-287 寻找重复数

速度还可以
就是修改了源数据 不知道在函数返回前再修改回去还可以不可以。

转载于:https://blog.51cto.com/3458905/2323939

你可能感兴趣的文章
19个PHP模板引擎
查看>>
iphone的PC端管理软件开源项目
查看>>
ORA-65085: cannot open pluggable database in read-only mode问题解决
查看>>
mysql导入报错Variable 'sql_notes' can't be set to the value of 'NULL'
查看>>
升级Xcode8之后 XMPP 遇到重定义的问题 Redefinition of module 'dnssd'
查看>>
RHEL6.4 KVM虚拟化网卡桥接,PXE无人值守安装虚拟机
查看>>
我的友情链接
查看>>
PDF转换为SWF
查看>>
Maven项目下update maven后Eclipse报错:java.lang.ClassNotF
查看>>
linux开机启动流程
查看>>
Sublime Text Build 3017 x86 dev版发布
查看>>
JS判断移动端访问设备并解析对应CSS
查看>>
文件操作类2
查看>>
思科交换机端口安全
查看>>
【书签】ionic mobile app development framework
查看>>
中间固定两侧自适应三栏布局
查看>>
技术人员,你拿什么拯救你的生活----温水煮青蛙
查看>>
Setting up a development WebSphere MQ server
查看>>
android app(cordova)是否支持socket.io client
查看>>
grep的使用
查看>>