アルゴリズムのトピック:
以下のソースします。https://leetcode-cn.com/problems/contains-duplicate-ii
整数の配列を与えられ、整数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
出力:偽
python3コード:
クラスのソリューション: containsNearbyDuplicate(自己、NUMS、K)DEF: #先判断是否存在重复元素 nums_len = LEN(NUMS) set_len = LEN(セット(NUMS)) set_len == nums_lenは場合: Falseを返す set_lenのelifを<nums_len: 私のために範囲(nums_len)において: 範囲内のjについて(I + 1、nums_len): 範囲内のJ(nums_len-I)のため#: もしNUMS [I] == NUMS [J]: ABS(IJ)<= kの場合: #印刷(i、j)は Trueを返し 、リターンがFalse
アイデアや知識をまとめます
ループ開始値のレイヤを決定するための1.2
iに対して範囲(nums_len)において:
範囲内のjについて(I + 1、nums_len)。
Falseを返すどのような状況下では2
前記複数のテストケースとしてコードカバレッジと配列長[1] []が1の場合はゼロであります
デジタル辞書の4.setタプルの文字列には、いくつかのデータ構造を習得するために一般的に使用されるメソッドをリスト