有序数组的平方

有序数组的平方

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

作者:suehoo

出处:https://www.cnblogs.com/suehoo/p/16644418.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   suehoo  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu