leetcode977有序数组的平方

leetcode 977 Squares of a Sorted Array

Posted by BY on October 16, 2020

前言

持续更新了

正文

问题来源

本问题来自leetcode上的977题。

问题描述

给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。

示例 1:

输入:[-4,-1,0,3,10]
输出:[0,1,9,16,100]

示例 2:

输入:[-7,-3,2,3,11]
输出:[4,9,9,49,121]

分析:

func sortedSquares(A []int) []int {
  res := make([]int, len(A))
  i, j, pos := 0, len(A)-1, len(A)-1
  var a, b int
  for i <= j {
    a, b = A[i]*A[i], A[j]*A[j]
    if a > b {
      res[pos] = a
      i++
    } else {
      res[pos] = b
      j--
    }
    pos--
  }
  return res
}

总结:

勤思考。

结语

不管怎么样好好加油。