其他分享
首页 > 其他分享> > 有序数组的平方

有序数组的平方

作者:互联网

有序数组的平方

给你一个按 非递减顺序 排序的整数数组 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