[Leetcode] #268 Missing Number
来源:互联网 发布:阿里云 网站备案 编辑:程序博客网 时间:2024/06/05 02:35
Discription
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
.
Solution
1.求和再减,注意溢出
2.异或
int missingNumber(vector<int>& nums) {int n = nums.size();int res = n;for (int i = 0; i<n; i++){res ^= nums[i];res ^= i;}return res;}
3.二分
int missingNumber(vector<int>& nums) {int n = nums.size();sort(nums.begin(), nums.end());int left = 0, right = n, mid = 0;while (left<right){mid = (left + right) >> 1;if (nums[mid]>mid)right = mid;elseleft = mid + 1;}return left;}
4.交换,用索引标注
int missingNumber(vector<int>& nums) {int n = nums.size();for (int i = 0; i<n; i++){while (nums[i]>0 && nums[i] <= n && nums[i] != i + 1)swap(nums[nums[i] - 1], nums[i]);}for (int i = 0; i<n; i++)if (nums[i] != i + 1) return i + 1;return 0;}
阅读全文
0 0
- 【LeetCode】268 Missing Number
- LeetCode(268)Missing Number
- [leetcode 268]Missing Number
- leetcode 268: Missing Number
- Leetcode #268 Missing Number
- [LeetCode 268] Missing Number
- leetcode 268 Missing Number
- [LeetCode]268 Missing Number
- leetcode 268 : Missing Number
- LeetCode 268 Missing Number
- 【LEETCODE】268-Missing Number
- LeetCode 268: Missing Number
- LeetCode 268 Missing Number
- Leetcode Missing Number 268
- LeetCode 268: Missing Number
- LeetCode-268:Missing Number
- LeetCode 268 Missing Number
- LeetCode[268] Missing Number
- Redis之SDS
- Python--os模块--shutil
- [linux命令] grep使用梳理
- 求二维数组每行元素之和
- Nginx安装步骤、启动和停止
- [Leetcode] #268 Missing Number
- P1059 明明的随机数
- HttpMessageConverter-spring(4.3.10) 学习笔记
- Spring单数据源的事物管理
- Android百度地图(四):百度地图运动轨迹纠偏、去噪、绑路之百度鹰眼
- 开发山寨币本地私有链开发环境搭建
- PL/SQL developer 安装设置常见问题
- mysqlslap 负载模拟测试工具使用
- 图是否是树