スクエア[]のpython-leetcode977-は、ダブルポインタの配列を命じました

問題の説明:

各番号は、正方形から成る新しい配列を返し、整数Aの配列の降順に非ソート与え、要件は非減少順にソートされます。

例1:

入力:[ - 4 -1,0,3,10]
出力:[0,1,9,16,100]
実施例2:

入力:[ - 7と-3,2,3,11]
出力:[4,9,9,49,121]
 

ヒント:

1 <= A.length <= 10000
-10000 <= A [I] <= 10000
Aは、非減少順にソートされています。

クラスソリューション:
     DEF sortedSquares(セルフ、A:リスト[INT]) - > 一覧[INT]:
        は、ポインタ左 
        =左0
         右のポインタを
        =右(A)として-1
        結果ストア 
        [0 = RESのため _ 範囲(LEN(A))]
         #のアレイを介して左に右
        のために I (LEN(A)-1、-1、-1レンジ:)
            計算は左ポインタポイント価値正方形 
            L = [左] * [左]
             #が計算され、正方形の右ポインタポイント価値 
            R&LT = A [右] * [右]
             もしL <= R&LT 
            IF L <= R&LT:
                最初のI RESのビットはR&LTに更新される 
                [I] = RES R&LT
                 配信不能ソートキーとして、残りの値は、右ポインタ保存し、この値よりも小さくなります
                右 -  = 1
            
                RES [I] = L + = 1つの
         戻り RES

結果:

おすすめ

転載: www.cnblogs.com/xiximayou/p/12300763.html