Missing Number
来源:互联网 发布:管家婆软件培训教程 编辑:程序博客网 时间:2024/06/04 18:17
Missing Number
Given an array containing n distinct numbers taken from 0, 1, 2, ..., n
, find the one that is missing from the array.
For example,
Given nums = [0, 1, 3]
return 2
.
Note:
Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?
原理很简单,就是先把数组加上,然后0-n的和减去数组的和即为缺失的数。
同样也阔以异或操作,因为只有缺失的数没有成对。
int missingNumber(int* nums, int numsSize) { if(nums == NULL || numsSize < 1) return -1; int miss = 0; int max = 0; for(int i = 0;i < numsSize;++i) { miss ^= nums[i]; if(nums[i] > max) max = nums[i]; } if(max + 1 == numsSize) { max = max + 1; } for(int i = 1;i <= max;++i) miss ^= i; return miss; }
0 0
- Missing number
- Missing number
- Missing number
- Missing number
- Missing Number
- Missing Number
- Missing Number
- Missing Number.
- Missing Number
- Missing Number
- Missing Number
- Missing Number
- Missing Number
- Missing Number
- Missing Number
- Missing Number
- Missing Number
- Missing Number
- 网站SEO方面经常使用的技巧有哪些
- 图片保存到本地在相册中无法显示问题
- 清明节游京华园
- RelativeLayout的一些重要的属性
- 欢迎使用CSDN-markdown编辑器
- Missing Number
- Windows Server 2003登录时不按Ctrl+Alt+Del
- 滤波器
- Linux下文件的压缩与打包
- C#调用C++编写的DLL函数各种参数传递问题
- nginx 代理 tomcat 502 bad gateway
- linux 命令のtar
- 我国的现状与前景
- 解决数据库root访问权限