[LeetCode] 0219。重複 II が含まれています

Python、C++、JavaScript、SQL、TypeScript の多様な LeetCode ソリューションを探索してください。面接の準備、学習、複数のプログラミング言語でのコードの練習に最適です。 Github リポジトリ リンク

簡単

 


整数配列が与えられた場合 数字 そして整数 k、 戻る 真実 2つある場合 個別のインデックス  そして j 次のような配列で nums[i] == nums[j] そして abs(i - j) <= k.

例 1:

入力: 数値 = [1,2,3,1]、k = 3
出力: 真実

例 2:

入力: 数値 = [1,0,1,1]、k = 1
出力: 真実

例 3:

入力: 数値 = [1,2,3,1,2,3]、k = 2
出力: 間違い

制約:

  • 1 <= nums.length <= 10 5
  • -10 9 <= nums[i] <= 10 9
  • 0 <= k <= 10 5

パイソン

				
					# 時間計算量: O(n) # 空間計算量: O(min(n,k)) import List クラス 解決策: def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool: dic = {} for i, j in enumerate(nums): j が dic かつ i - dic[j] <= k の場合: True を返します dic[j] = i は False を返します nums = [1, 2, 3, 1] k = 3 print(Solution().containsNearbyDuplicate(nums, k))
				
			
ja日本語