有序数组的平方
作者:互联网
有序数组的平方
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100],排序后,数组变为 [0,1,9,16,100]
示例 2: 输入:nums = [-7,-3,2,3,11] 输出:[4,9,9,49,121]
双指针法
package main
func sortedSquares(nums []int) []int {
n:=len(nums)
k,j:=len(nums)-1,len(nums)-1
i:=0
result:=make([]int,n)
for i<=j{
if(nums[i]*nums[i]<nums[j]*nums[j]){
result[k]=nums[j]*nums[j]
j--
k--
}else {
result[k]=nums[i]*nums[i]
i++
k--
}
}
return result
}
func main() {
a:=[]int{-4,-1,0,3,10}
var fd []int
fd=sortedSquares(a)
println(fd[0],fd[1],fd[2],fd[3],fd[4])
}
标签:平方,数组,nums,int,16,len,有序,100 来源: https://www.cnblogs.com/suehoo/p/16644418.html