20 4 10 存在重複元素 簡單

2022-02-10 21:20:43 字數 827 閱讀 3421

給定乙個整數陣列和乙個整數 k,判斷陣列中是否存在兩個不同的索引 i 和 j,使得 nums [i] = nums [j],並且 i 和 j 的差的 絕對值 至多為 k。

示例 1:

輸入: nums = [1,2,3,1], k = 3

輸出: true

示例 2:

輸入: nums = [1,0,1,1], k = 1

輸出: true

示例 3:

輸入: nums = [1,2,3,1,2,3], k = 2

輸出: false

在迴圈遍歷過程中用map儲存數字的索引,這裡位置position是索引i+1,避免map初始化都是0與索引0衝突的問題;

迴圈中,表的record如果等於0,則第一次讀到這個數,把這個數的位置存進去;

如果當前遍歷數字的位置和已經出現過的數字的位置的差不超過k,則返回true(position - record[nums[i]] != 0,這個判斷是避免相同位置的數字相減肯定等於0,但是也肯定符合不超過k的問題);

如果當前遍歷數字的位置和已經出現過的數字的位置的差超過k,則更新這個數字的位置。

class solution 

return false;}};

存在重複元素

給定乙個整數陣列,判斷是否存在重複元素。如果任何值在陣列中出現至少兩次,函式返回 true。如果陣列中每個元素都不相同,則返回 false。示例 1 輸入 1,2,3,1 輸出 true 示例 2 輸入 1,2,3,4 輸出 false 示例 3 輸入 1,1,1,3,3,4,3,2,4,2 輸出 ...

存在重複元素

給定乙個整數陣列,判斷是否存在重複元素。如果任何值在陣列 現至少兩次,函式返回 true。如果陣列中每個元素都不相同,則返回 false。示例 1 輸入 1,2,3,1 輸出 true 示例 2 輸入 1,2,3,4 輸出 false 示例 3 輸入 1,1,1,3,3,4,3,2,4,2 輸出 t...

存在重複元素

給定乙個整數陣列,判斷是否存在重複元素。如果任何值在陣列 現至少兩次,函式返回 true。如果陣列中每個元素都不相同,則返回 false。示例 1 輸入 1,2,3,1 輸出 true 示例 2 輸入 1,2,3,4 輸出 false 示例 3 輸入 1,1,1,3,3,4,3,2,4,2 輸出 t...