[leetcode] 977. Squares of a Sorted Array


Description
Given an array of integers A sorted in non-decreasing order, return an array of the squares of each number, also in sorted non-decreasing order.
Example 1:
Input: [-4,-1,0,3,10]
Output: [0,1,9,16,100]

Example 2:
Input: [-7,-3,2,3,11]
Output: [4,9,9,49,121]

Note:
  • 1 <= A.length <= 10000
  • -10000 <= A[i] <= 10000
  • A is sorted in non-decreasing order.

  • ぶんせき
    テーマの意味は:秩序配列を与えて、それから各数の平方に対して、最後に秩序になります.ここの考え方はとても多くて、私はpython大法のsorted+absの組み合わせを選んで、acができることを発見しました.もちろん二重ポインタの考え方もありますが、負数と正数の境界点を見つけて、二つのポインタで左から右に回り、平方の結果を大きさ順に入れておけばいいのです.
    コード#コード#
    class Solution:
        def sortedSquares(self, A: List[int]) -> List[int]:
            arr=sorted(A,key=lambda x:abs(x))
            res=[]
            for item in arr:
                res.append(item*item)
            return res
    

    参考文献
    [LeetCode] Approach 1: Sort