1089【leetcode】。重複ゼロ

次のように内容は次のとおりです。

固定長の配列を指定  arr する整数の、右側に残りの要素をシフト、ゼロの各発生を複製。

元の配列の長さを超える要素が書き込まれないことに留意されたいです。

代わりに、入力配列に上記の修正を行い、あなたの関数から何も返されません。

 

例1:

入力:[1,0,2,3,0,4,5,0] 
出力:nullの
説明:あなたの関数を呼び出した後、入力配列がのように変更されます。[1,0,0,2,3,0,0 、4]

例2:

入力:[1,2,3] 
出力:nullの
説明:あなたの関数を呼び出した後、入力配列がのように変更されます。[1,2,3]

 

注意:

  1. 1 <= arr.length <= 10000
  2. 0 <= arr[i] <= 9

ソリューションの概要: ARR場合スクラッチトラバースARRは、[i]が0に等しく、I + 1挿入位置0で、インデックスは、I + 2に移動され、ゼロでないが、インデックスi + 1に移動した場合。

コードは以下の通りであります:

クラスのソリューション(オブジェクト):
     DEF :duplicateZeros(自己、ARR)
         "" " 型ARR:リスト[INT] 
        :RTYPE:なし何も返さない、代わりにその場でARRを変更しないでください
        """ 
        長さ = LEN(ARR)
        INX = 0
         ながら INX < 長さ:
             もし ARR [INX] =!0:
                INX = 1 +
                 続ける
            
                arr.insert(INXは、0)
                arr.pop( -1 
                INX + = 2

 

ます。https://www.cnblogs.com/seyjs/p/11044681.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_34186128/article/details/93158302