977. 有序数组的平方

提示:
1 <= A.length <= 10000-10000 <= A[i] <= 10000A已按非递减顺序排序。
排序
func sortedSquares(A []int) []int {for i,v:=range A{A[i] = v*v}sort.Ints(A)return A}

双指针
package mainimport ("fmt")func sortedSquares(A []int) []int {res := make([]int, len(A))l := 0r := len(A) - 1i := len(res) - 1var lRes, rRes intfor l <= r {lRes = A[l] * A[l]rRes = A[r] * A[r]if lRes > rRes {res[i] = lResl++} else {res[i] = rResr--}i--}return res}func main() {fmt.Println(sortedSquares([]int{-4,-1,0,3,10}))fmt.Println(sortedSquares([]int{-7, -3, 2, 3, 11}))fmt.Println(sortedSquares([]int{1}))}

