LeetCode 268. Missing Number - 求和、异或
2017-11-01 15:08
399 查看
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?
题意:0~n中间少了一个数
思路1:每个位置放了一个数,但是有一个位置没有放。采用求和的方法,可以把没有放的这个数找出来。
思路2:异或运算 a^b^b=a,这个运算满足交换律,大致思想同上。
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?
题意:0~n中间少了一个数
思路1:每个位置放了一个数,但是有一个位置没有放。采用求和的方法,可以把没有放的这个数找出来。
class Solution(object): def missingNumber(self, nums): """ :type nums: List[int] :rtype: int """ sum = len(nums) for i in range(len(nums)): sum += i sum -= nums[i] return sum
思路2:异或运算 a^b^b=a,这个运算满足交换律,大致思想同上。
class Solution(object): def missingNumber(self, nums): """ :type nums: List[int] :rtype: int """ xor = len(nums) for i in range(len(nums)): xor ^= i ^ nums[i] return xor
相关文章推荐
- [LeetCode]268. Missing Number
- LeetCode-Easy部分中标签为Math 268. Missing Number
- LeetCode 136. Single Number (算法、异或)
- 2018.03.15 leetcode 打卡 #268. Missing Number
- Leetcode 268. Missing Number
- leetcode - 268. Missing Number
- 2018.03.15 leetcode 打卡 #268. Missing Number
- LeetCode笔记:268. Missing Number
- [LeetCode]268. Missing Number(求数组中缺失的元素)
- [Leetcode] 268. Missing Number
- LeetCode268. Missing Number解题
- 【LeetCode】268. Missing Number
- 2018.03.15 leetcode 打卡 #268. Missing Number
- 【Leetcode】268. Missing Number
- LeetCode268. Missing Number
- leetcode 268. Missing Number
- LeetCode之268. Missing Number
- LeetCode 268. Missing Number (缺失的数字)
- 2018.03.15 leetcode 打卡 #268. Missing Number
- Leetcode--268. Missing Number