leetcode268: Missing Number
2016-11-20 15:22
190 查看
要求:
Given an array containing n distinct numbers taken from
find the one that is missing from the array.
For example,
Given nums =
Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?
注意:将数组放在新数组中,再将数字1-n放入新数组中。将新数组中所有元素进行异或,结果就是那个没有重复的数字,也就是Missing Number
例如:
int[] array={0,1,2,4,5}在新数组中先放入0-5,再放入array中所有元素
int[] newarray={0,1,2,3,4,5,0,1,2,4,5}只有3没有重复两次。
进行异或后,返回单个元素3
public int missingNumber(int[] nums) {
int[] ar = new int[2 * nums.length + 1];
for (int i = 0; i <= nums.length; i++)
ar[i] = i;
for (int i = 0; i < nums.length; i++)
ar[i + nums.length + 1] = nums[i];
int result = ar[0];
for (int i = 1; i < ar.length; i++)
result = result ^ ar[i];
return result;
}
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.
Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?
注意:将数组放在新数组中,再将数字1-n放入新数组中。将新数组中所有元素进行异或,结果就是那个没有重复的数字,也就是Missing Number
例如:
int[] array={0,1,2,4,5}在新数组中先放入0-5,再放入array中所有元素
int[] newarray={0,1,2,3,4,5,0,1,2,4,5}只有3没有重复两次。
进行异或后,返回单个元素3
public int missingNumber(int[] nums) {
int[] ar = new int[2 * nums.length + 1];
for (int i = 0; i <= nums.length; i++)
ar[i] = i;
for (int i = 0; i < nums.length; i++)
ar[i + nums.length + 1] = nums[i];
int result = ar[0];
for (int i = 1; i < ar.length; i++)
result = result ^ ar[i];
return result;
}
相关文章推荐
- Leetcode 268 Missing Number 位运算
- [leetcode 268]Missing Number
- 【LeetCode】268 Missing Number (java实现)
- LeetCode - 268 - Missing Number
- Java [Leetcode 268]Missing Number
- <LeetCode OJ>Missing Number【268】
- leetcode_268_Missing Number(Medium)
- 【LeetCode】268 Missing Number
- LeetCode 268 Missing Number
- leetcode 268 Missing Number
- The Solution to Leetcode 268 Missing Number
- [LeetCode]: 268: Missing Number
- [LeetCode]268 Missing Number
- leetcode268:Missing Number
- [leetcode-268]Missing Number(c)
- [leetcode268]Missing Number
- LeetCode(268) Missing Number
- leetcode 268 Missing Number(异或运算的应用)
- LeetCode172 Factorial Trailing Zeroes. LeetCode258 Add Digits. LeetCode268 Missing Number
- Leetcode 268 Missing Number