Skip to content

Latest commit

 

History

History
19 lines (19 loc) · 492 Bytes

977有序数组的平方.md

File metadata and controls

19 lines (19 loc) · 492 Bytes

考虑到负数的存在,平方值最大的数只可能在原数组的左边或是右边,使用双指针:

func sortedSquares(nums []int) []int {
    n := len(nums)
    i, j, index := 0, n - 1, n - 1
    res := make([]int, n)
    for i <= j {
        if nums[i] * nums[i] > nums[j] * nums[j] {
            res[index] = nums[i] * nums[i]
            i++
        } else {
            res[index] = nums[j] * nums[j]
            j--
        }
        index--
    }
    return res
}