268. Missing Number - Easy
阿新 • • 發佈:2018-11-29
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?
因為是由0~n組成的陣列,只缺少一個數字,可以先通過公式計算出應有的和,再遍歷陣列一個個減去,剩下的數就是missing number
時間:O(N),空間:O(1)
class Solution { public int missingNumber(int[] nums) { int n = nums.length; int sum = n * (n + 1) / 2; for(int i = 0; i < n; i++) { sum -= nums[i]; }return sum; } }