LeetCode 268: Missing Number
2016-03-29 04:44
323 查看
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;
for example:
Given nums = [0, 1, 3] return 2;
// This one is also bit manipulation. int missingNumber(vector<int>& nums) { int n = nums.size(); int result = 0; for(int i = 0; i < n; ++i) { result ^= i ^ nums[i]; } return result ^ n; } // or we can use binary search if the array is already sorted. int findMissing(vector<int>& nums) { int n = nums.size(); int left = 0; int right = nums.size() - 1; while(left <= right) { int m = (left + right) / 2; if(m != 0 && nums[m-1] + 1 != nums[m]) return nums[m] - 1; if(m == 0 && nums[m] != 0) return 0; if(m != n - 1 && nums[m + 1] - 1 != nums[m]) return nums[m] + 1; if(nums[m] == m) left = m + 1; else right = m - 1; } return -1; }
相关文章推荐
- kubernetes 网络
- LeetCode 260. Single Number III
- 29. Divide Two Integers
- 使用CocoaPods可能遇到的一些问题。
- LeetCode 136. Single Number
- Android——RadioGroup和CheckBox
- 破解入门篇
- #Android Studio使用(1)#
- Java异常处理和设计
- Install and set up Gitlab CI Runner to use Docker
- Codeforces 658B Bear and Displayed Friends【set】
- Codeforces 658B Bear and Displayed Friends【set】
- JVM的内存区域划分
- 深入剖析Java中的装箱和拆箱
- 43. Multiply Strings
- Android——Button的颜色
- Java 如何有效地避免OOM:善于利用软引用和弱引用
- [Android]INSTALL_FAILED_NO_MATCHING_ABIS when installing apk
- PHP魔术常量
- 几款免费流程图制作软件