268. Missing Number
来源:互联网 发布:地面3d立体画教程知乎 编辑:程序博客网 时间:2024/06/03 17:40
这道题要求找出数组中一个缺失的数字,我看到线性时间和常数空间,先想到的是位操作。
想到了位操作但是不知道怎么用。这里的做法是,把缺失了一个数的数组和不缺失的数组一起异或。相同的数异或为0,那么最后异或的结果就是缺失的那个数。
class Solution {public: int missingNumber(vector<int>& nums) { int res = 0; for(int i = 0; i < nums.size(); ++i){ res ^= (i+1) ^ nums[i]; } return res; }};
还有一种方法是,把正常情况下数组的和应该是多少算出来,减去现在缺失一个数之后的和,就是缺失的那个数。
正常情况下数组里应该有[0~n]这n+1个数,由于缺一个,所以现在数组里有n个数,所以for循环里有一个等号。
class Solution {public: int missingNumber(vector<int>& nums) { int sum = 0; for(int i = 0; i <= nums.size(); ++i){ sum += i; } return sum - accumulate(nums.begin(), nums.end(), 0); }};
阅读全文
0 0
- [leetcode] 268.Missing Number
- 【leetcode】268. Missing Number
- [leetcode] 268. Missing Number
- 268. Missing Number
- Leetcode 268. Missing Number
- 268. Missing Number LeetCode
- LeetCode 268. Missing Number
- 268. Missing Number
- 【LeetCode】268. Missing Number
- 268. Missing Number
- [LeetCode]268. Missing Number
- 268. Missing Number
- LeetCode *** 268. Missing Number
- 268. Missing Number
- 【leetcode】268. Missing Number
- leetcode-268. Missing Number
- LeetCode-268.Missing Number
- LeetCode 268. Missing Number
- 20171108慢牛股票
- vlc sdk下载
- jdbc驱动
- mac OS 快捷操作 (不断更新)
- PHP开发微信公众号,实现上传永久素材
- 268. Missing Number
- python 单链表逆置
- OKhttp的get请求和post请求
- Java NIO:浅析I/O模型
- 练习 4-12 运用 printd 函数的设计思想编写一个递归版本的 itoa 函数,即通过递归 调用把整数转换为字符串
- Android之—多线程断点续传下载
- Openal播放音频.
- 2017/11/08云计算领域的资讯
- 转载:AlphaGo Zero