977. Squares of a Sorted Array

Link: https://leetcode.com/problems/squares-of-a-sorted-array/

RGiven 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.

題目翻譯:

給定一個整數數組 A 按非遞減順序排序,返回每個數字的正方形數組,也按有序非遞減順序返回。)

程式思路:

先把 A 陣列變成平方在排序。但如果要快的話 就必須邊排續邊用成平方。

class Solution {
public:
    vector<int> sortedSquares(vector<int>& A) {
        for_each(A.begin(),A.end(), [](int &a){ a *= a;});
        sort(A.begin(),A.end(),[](int a, int b){return a < b;});
        return A;
    }
};

  目錄