本文主要记录一下leetcode之有序数组的平方

leetcode基础知识 leetcode之有序数组的平方(1)

题目

给定一个按非递减顺序排序的整数数组A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 示例1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,16,100] 示例2: 输入:[-7,-3,2,3,11] 输出:[4,9,9,49,121] 提示: 1<=A.length<=10000 -10000<=A[i]<=10000 A已按非递减顺序排序。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/squares-of-a-sorted-array 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

classSolution{ publicint[]sortedSquares(int[]A){ inti=0; intj=A.length-1; intcursor=A.length-1; int[]result=newint[A.length]; while(i<=j){ if(A[i]*A[i]>A[j]*A[j]){ result[cursor]=A[i]*A[i]; cursor--; i ; continue; } result[cursor]=A[j]*A[j]; cursor--; j--; } returnresult; } }

小结

这里使用双指针,每次对比前后平方之后的数据,大的则将新增赋值给结果集,然后移动对应的指针及结果集的游标。

doc,