LeetCode 645 錯誤的集合

2021-09-29 18:26:18 字數 687 閱讀 9128

集合 s 包含從1到 n 的整數。不幸的是,因為資料錯誤,導致集合裡面某乙個元素複製了成了集合裡面的另外乙個元素的值,導致集合丟失了乙個整數並且有乙個元素重複。

給定乙個陣列 nums 代表了集合 s 發生錯誤後的結果。你的任務是首先尋找到重複出現的整數,再找到丟失的整數,將它們以陣列的形式返回。

示例 1:

輸入: nums = [1,2,2,4]

輸出: [2,3]

注意:給定陣列的長度範圍是 [2, 10000]。

給定的陣列是無序的。

思路:對於原陣列nums,將其賦值到乙個臨時陣列temp, 大小為 nums.size()+1, 因為資料是從1開始。用nums的值作為temp的索引,temp對應的值,即為nums中每個數字出現的次數。再次掃瞄的時候,找到出現0和2次的數,返回即可,一定要注意,掃瞄temp的時候,從1開始,因為0沒有值。

class solution 

for(int i = 1; i < temp.size(); ++i)

if(temp[i] == 0)

res[1] = i;

}return res;}};

LeetCode645 錯誤的集合

集合s包含從1到n的整數。不幸的是,因為資料錯誤,導致集合裡面某乙個元素複製了成了集合裡面的另外乙個元素的值,導致集合丟失了乙個整數並且有乙個元素重複。給定乙個陣列nums代表了集合s發生錯誤後的結果。你的任務是首先尋找到重複出現的整數,再找到丟失的整數,將它們以陣列的形式返回。示例 1 輸入 nu...

leetcode 645 錯誤的集合

645.錯誤的集合 集合 s 包含從1到 n 的整數。不幸的是,因為資料錯誤,導致集合裡面某乙個元素複製了成了集合裡面的另外乙個元素的值,導致集合丟失了乙個整數並且有乙個元素重複。給定乙個陣列 nums 代表了集合 s 發生錯誤後的結果。你的任務是首先尋找到重複出現的整數,再找到丟失的整數,將它們以...

LeetCode 645 錯誤的集合

題目描述 集合 s 包含從1到 n 的整數。不幸的是,因為資料錯誤,導致集合裡面某乙個元素複製了成了集合裡面的另外乙個元素的值,導致集合丟失了乙個整數並且有乙個元素重複。給定乙個陣列 nums 代表了集合 s 發生錯誤後的結果。你的任務是首先尋找到重複出現的整數,再找到丟失的整數,將它們以陣列的形式...