1. 直接排放之后快速排序
func sortedSqueres(nums []int)[]int{
// 用make动态生成一维数组
ans := make([]int, len(nums))
for i,v := range nums{
ans[i] = v * v
}
// 这里直接用自带的快排
sort.Ints(ans)
return ans
}
2. 双指针
func sortedSquares(nums []int) []int {
n := len(nums)
ans := make([]int, n)
left, right := 0, n-1
for pos := n - 1; left <= right; pos-- {
v, w := nums[left]*nums[left], nums[right]*nums[right]
if v < w {
ans[pos] = w
right--
} else {
ans[pos] = v
left++
}
}
return ans
}