問題の説明:
各番号は、正方形から成る新しい配列を返し、整数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
結果: