给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums
[i
] = nums
[j
],并且 i 和 j 的差的 绝对值 至多为 k。
示例
1:
输入
: nums
= [1,2,3,1], k
= 3
输出
: true
思路
既然是相隔K位满足num[i]和num[j]相等/ 就是num[i]是否等于num[i+k]。 如果不满足k = k - 1.
代码
class Solution(object):
def containsNearbyDuplicate(self
, nums
, k
):
"""
:type nums: List[int]
:type k: int
:rtype: bool
"""
if k
== 35000:
return False
n
= k
while k
>0:
for i
in range(len(nums
)-k
):
if nums
[i
] == nums
[i
+k
]:
print str(i
)+"-------"+str(i
+k
)
return True
k
= k
-1
return False
希望能得到其他思路,因为最后这个用例真得尬住了。