diff --git a/高频面试系列/消失的元素.md b/高频面试系列/消失的元素.md index e434b50..19433d0 100644 --- a/高频面试系列/消失的元素.md +++ b/高频面试系列/消失的元素.md @@ -132,9 +132,39 @@ public int missingNumber(int[] nums) {

- ======其他语言代码====== +### python + +```python +def missingNumber(self, nums: List[int]) -> int: + #思路1,位运算 + res = len(nums) + for i,num in enumerate(nums): + res ^= i^num + return res +``` + +```python +def missingNumber(self, nums: List[int]) -> int: + #思路2,求和 + n = len(nums) + return n*(n+1)//2-sum(nums) +``` + +```python +def missingNumber(self, nums: List[int]) -> int: + #思路3,防止整形溢出的优化 + res = len(nums) + for i,num in enumerate(nums): + res+=i-num + return res +``` + +事实上,在python3中不存在整数溢出的问题(只要内存放得下),思路3的优化提升并不大,不过看上去有内味了哈... + +### c++ + [happy-yuxuan](https://github.com/happy-yuxuan) 提供 三种方法的 C++ 代码: ```c++ @@ -177,5 +207,3 @@ int missingNumber(vector& nums) { return res; } ``` - -