演算法練習之存在重複元素

2022-05-29 10:18:13 字數 1152 閱讀 8588

演算法題目:

給定乙個整數陣列和乙個整數 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

python3**:

class solution:

def containsnearbyduplicate(self, nums, k):

#先判斷是否存在重複元素

nums_len=len(nums)

set_len=len(set(nums))

if set_len == nums_len:

return false

elif set_len < nums_len:

for i in range(nums_len):

for j in range(i+1,nums_len):

# for j in range(nums_len-i):

if nums[i] == nums[j]:

if abs(i-j)<=k:

# print(i ,j)

return true

return false

總結思路及知識點

1.   2 層for 迴圈   確定for 的起始值

for i in range(nums_len):

for j in range(i+1,nums_len):

2. 什麼情況下返回false

3.**覆蓋更多的測試用例  如陣列長度為0 和為1 的情況   [ ] [1]

4.set tuple  列表  字典  字串  數字 這個幾種資料結構常用的方法要掌握

swift演算法 存在重複元素

1 描述 給定乙個整數陣列,判斷是否存在重複元素。如果任何值在陣列 現至少兩次,函式返回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...

存在重複元素

給定乙個整數陣列,判斷是否存在重複元素。如果任何值在陣列中出現至少兩次,函式返回 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...