アルゴリズムは、繰り返しエレメントの練習を存在します

アルゴリズムのトピック:

以下のソースします。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タプルの文字列には、いくつかのデータ構造を習得するために一般的に使用されるメソッドをリスト 

おすすめ

転載: www.cnblogs.com/eosclover/p/11407663.html