LeetCode-268-丟失的數字
丟失的數字
題目描述:給定一個包含 [0, n] 中 n 個數的陣列 nums ,找出 [0, n] 這個範圍內沒有出現在陣列中的那個數。
進階:
- 你能否實現線性時間複雜度、僅使用額外常數空間的演算法解決此問題?
示例說明請見LeetCode官網。
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/missing-number/
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
解法一:陣列遍歷
首先,獲取數字的長度為n,根據根據公式
n*(n+1)/2
得到從0到n的數字相加之和為sum,由於nums陣列中只缺少一個數,所以遍歷陣列,將sum減去陣列中所有的元素,然後剩下的數字就是要返回的數。
public class LeetCode_268 {
public static int missingNumber(int[] nums) {
int n = nums.length;
int sum = n * (n + 1) / 2;
for (int num : nums) {
sum -= num;
}
return sum;
}
public static void main(String[] args) {
int[] nums = new int[]{9, 6, 4, 2, 3, 5, 7, 0, 1};
System.out.println(missingNumber(nums));
}
}
【每日寄語】 最清晰的腳印,總是印在最泥濘的路上。
「其他文章」
- JZ-023-二叉搜尋樹的後序遍歷序列
- JZ-020-包含 min 函式的棧
- LeetCode-133-克隆圖
- LeetCode-116-填充每個節點的下一個右側節點指標
- LeetCode-113-路徑總和 II
- JZ-010-矩形覆蓋
- LeetCode-345-反轉字串中的母音字母
- LeetCode-326-3的冪
- LeetCode-283-移動零
- LeetCode-268-丟失的數字
- LeetCode-263-醜數
- LeetCode-237-刪除連結串列中的節點
- LeetCode-226-翻轉二叉樹
- LeetCode-219-存在重複元素 II
- LeetCode-217-存在重複元素
- LeetCode-217-存在重複元素
- LeetCode-206-反轉連結串列
- LeetCode-204-計數質數
- LeetCode-203-移除連結串列元素
- LeetCode-257-二叉樹的所有路徑