我是靠谱客的博主 爱撒娇花瓣,这篇文章主要介绍Leetcode刷题java之有序数组的平方,现在分享给大家,希望可以做个参考。

题目:

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

示例 1:

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

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

思路:

因为是已经排好序的了,可以使用双指针,一个从左开始,一个从右开始,并用一个辅助数组来存储结果。

代码:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Solution { public int[] sortedSquares(int[] A) { //辅助数组 int[] result=new int[A.length]; //左指针 int left=0; //右指针 int right=A.length-1; //辅助数组的位置 int i=A.length-1; while(left<=right) { if((A[left]*A[left])>=(A[right]*A[right])) { result[i]=A[left]*A[left]; left++; }else { result[i]=A[right]*A[right]; right--; } i--; } return result; } }

 

最后

以上就是爱撒娇花瓣最近收集整理的关于Leetcode刷题java之有序数组的平方的全部内容,更多相关Leetcode刷题java之有序数组内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(99)

评论列表共有 0 条评论

立即
投稿
返回
顶部