Runtime:160 ms, faster than30.48% of Python3 online submissions for Missing Number. Memory Usage:15.1 MB, less than39.86% of Python3 online submissions for Missing Number. 【解法二】 思路同上,另一种写法 classSolution:defmissingNumber(self, nums): nums.sort()#Ensure that n is at the last ...
复制 classSolution{publicintmissingNumber(int[]nums){Arrays.sort(nums);// 判断 n 是否出现在末位if(nums[nums.length-1]!=nums.length){returnnums.length;}// 判断 0 是否出现在首位elseif(nums[0]!=0){return0;}// 此时缺失的数字一定在 (0, n) 中for(int i=1;i<nums.length;i++){int e...
这种被吊打的感觉,有点像高斯当时算随手算出5050吊打同伴小孩的情况。 java代码如下: publicclassSolution {publicintmissingNumber(int[] nums) {intsum = nums.len * (nums.len + 1)/2; //length大小是n-1for(inti = 0; i < nums.length; ++i){ sum-=nums[i]; }returnsum; } }...
这个思路还是比较简单就不多解释了,直接上代码。 class Solution { public List<Integer> findDisappearedNumbers(int[] nums) { // Hash table for keeping track of the numbers in the array // Note that we can also use a set here since we are not // really concerned with the frequency of numb...
class Solution: def missingNumber(self, nums): n = len(nums) sum = n * (n + 1) / 2 for num in nums: sum -= num return int(sum) 时间复杂度: O(n) ,空间复杂度: O(1) 解法2:位运算-异或 应用异或的性质,两个相同的数字异或结果为 0,我们先将数组中所有数字进行异或,然后一次异或...
classSolution{funcmissingNumber(_nums:[Int])->Int{letset:Set<Int>=Set(nums)foriin0...nums.count{if!set.contains(i){returni}}return-1}} 复杂度分析 时间复杂度: ,其中 是数组 的长度。遍历数组 将元素加入哈希集合的时间复杂度是 ,遍历从 ...
public class Solution { public int missingNumber(int[] nums) { int sum = 0; int len = nums.length; for(int i = 0; i < len; i++){ sum += nums[i]; } return len * (len + 1)/2 - sum; } } 1. 2. 3. 4. 5.
classSolution { public: intmissingNumber(vector<int>&nums) { intn=nums.size(); longres=n*(n+1)/2; for(autonum:nums) res-=num; returnres; } }; 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 新解法-异或法 ...
classSolution {public:intmissingNumber(vector<int>&nums) {intsum =0, n =nums.size();for(auto &a : nums) { sum+=a; }return0.5* n * (n +1) -sum; } }; 这题还有一种解法,使用位操作Bit Manipulation来解的,用到了异或操作的特性,相似的题目有Single Number 单独的数字,Single Number II...
其实既然知道了数字一定是 0, 1, 2, ..., n,只缺一个数字,我们可以求0~n的累加和,然后遍历数组,对数组中的数字也累加个和,相减就知道差的是那个数字了。 代码(Java): 代码语言:javascript 复制 publicclassSolution{publicintmissingNumber(int[]nums){int total=(1+nums.length)*nums.length/2;int sum...