力扣刷题 977. 有序数组的平方

977. 有序数组的平方

c++,两种方法

class Solution {
public:
    vector<int> sortedSquares(vector<int>& A) {
        int n = A.size();
        vector<int> ans;
        for(int i=0;i<n;++i){
            ans.push_back(A[i]*A[i]);
        }
        sort(ans.begin(),ans.end());
        return ans;
        
        // 有序,所以可以双指针前后比较
        // vector<int> ans(n);
        // for (int i = 0, j = n - 1, pos = n - 1; i <= j;) {
        //     if (A[i] * A[i] > A[j] * A[j]) {
        //         ans[pos] = A[i] * A[i];
        //         ++i;
        //     }
        //     else {
        //         ans[pos] = A[j] * A[j];
        //         --j;
        //     }
        //     --pos;
        // }
        // return ans;
    }
};

python

class Solution:
    def sortedSquares(self, nums: List[int]) -> List[int]:
        res=[]
        for num in nums:
            res.append(num*num)
        res.sort()
        return res
posted on 2021-06-11 09:14  雾恋过往  阅读(36)  评论(0编辑  收藏  举报

Live2D