标签:大小 constant solution public i+1 time NPU ant ssi
Given an array containing n distinct numbers taken from 0, 1, 2, ..., n
, find the one that is missing from the array.
Example 1:
Input: [3,0,1] Output: 2
Example 2:
Input: [9,6,4,2,3,5,7,0,1] Output: 8
Note:
Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?
class Solution { public int missingNumber(int[] nums) { Arrays.sort(nums); for(int i = 0; i < nums.length; i++){ if(i != nums[i]) return i; } return nums.length; } }
注意考虑都在的情况(返回数组长)
class Solution { public int missingNumber(int[] nums) { int k1 = 0, k2 = 0; for(int i = 0; i < nums.length; i++){ k1 += nums[i]; k2 += (i+1); } return k2 - k1; } }
或者计算原本应该有的值大小,再减去数组之和就是miss掉的。
标签:大小 constant solution public i+1 time NPU ant ssi
原文地址:https://www.cnblogs.com/wentiliangkaihua/p/11702723.html