题目

977. Squares of a Sorted Array

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:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
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.

答案

func sortedSquares(A []int) []int {
    size := len(A)
    res := make([]int, size)
    for l, r, i := 0, size-1, size-1; l <= r; i-- {
        if A[l]+A[r] < 0 {
            res[i] = A[l] * A[l]
            l++
        } else {
            res[i] = A[r] * A[r]
            r--
        }
    }
    return res
}

参考链接

977. Squares of a Sorted Array

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄