LeetCode-977-有序數(shù)組的平方

給定一個按非遞減順序排序的整數(shù)數(shù)組 A,返回每個數(shù)字的平方組成的新數(shù)組,要求也按非遞減順序排序。


image.png

解題思路:

  1. 暴力法:遍歷開平方,再排序;
  2. 雙指針,因為輸入A為從小到大排序的,從列表兩邊開始開方比較,取對比后的較大值,存入ans的末位,以此類推。

Python3代碼:

class Solution:
    def sortedSquares(self, A: List[int]) -> List[int]:
        # ans = [0 for _ in A]
        # for i in range(len(A)):
        #     ans[i] = A[i]**2
        
        # return sorted(ans)
        n = len(A)
        i, j, pos = 0, n-1, n-1
        ans = [0]*n
        while i <= j:
            if A[i]**2 > A[j]**2:
                ans[pos] = (A[i]**2)
                i += 1
                pos-=1
            else:
                ans[pos] = (A[j]**2)
                j -= 1
                pos-=1
        return ans
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容