演算法題目:
給定乙個整數陣列和乙個整數 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):2. 什麼情況下返回falsefor j in range(i+1,nums_len):
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...