leetcode268~Missing Number
来源:互联网 发布:js求n的阶乘 编辑:程序博客网 时间:2024/06/06 08:33
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?
推荐 异或 方法
public class MissingNumber { public int missingNumber2(int[] nums) { if(nums==null || nums.length==0) return 0; Arrays.sort(nums); int number; for(number=0;number<nums.length;number++) { if(nums[number]!=number) { return number; } } //如果是{1,2,3}则返回4 return number; } //二分法 public int missingNumber3(int[] nums) { //binary search Arrays.sort(nums); int left = 0, right = nums.length, mid= (left + right)/2; while(left<right){ mid = (left + right)/2; if(nums[mid]>mid) right = mid; //说明左边有遗漏的数 else left = mid+1; } return left; } //异或 两个相同的数异或为0 则把数组中的每个数和下标全部异或一次,最后的那个数肯定是没出现的数 public int missingNumber(int[] nums) { int res = nums.length; for(int i=0;i<nums.length;i++) { res ^= i; res ^= nums[i]; } return res; }}
0 0
- leetcode268:Missing Number
- [leetcode268]Missing Number
- leetcode268 Missing Number
- leetcode268. Missing Number
- LeetCode268. Missing Number
- [LeetCode268]Missing Number
- LeetCode268之Missing Number
- leetcode268~Missing Number
- leetcode268. Missing Number
- leetcode268. Missing Number
- LeetCode268. Missing Number解题
- LeetCode268--Bit Manipulation--Missing Number找缺失的数
- LeetCode268——Missing Number相濡以沫不如相忘于江湖
- leetcode268
- Missing number
- Missing number
- Missing number
- Missing number
- JAVA 二叉树遍历
- Java多线程同步的五种方法
- C#字符串、迭代语句学习
- js(javascript)中的严格模式解析
- 哈希表
- leetcode268~Missing Number
- 前端面试(六)
- spring管理事务
- CSS3 经典教程系列:CSS3 圆角(border-radius)详解
- Android 自定义View原理
- 用eval函数解析json数据
- Oracle 12c Study之-- Oracle 12.2安装
- 用C++11的std::async代替线程的创建
- css居中