给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。
示例 1:
输入:[-4,-1,0,3,10] 输出:[0,1,9,16,100] 示例 2:
输入:[-7,-3,2,3,11] 输出:[4,9,9,49,121]
解题思路先定义一个数组resultArr用于保存最终返回结果;遍历数组A,然后将其各元素的平方赋给resultArr数组;利用Arrays的sort()方法resultArr数组进行排序;返回最终结果数组;实现package Array; import java.util.Arrays; /** * Created with IntelliJ IDEA. * Version : 1.0 * Author : cunyu * Email : cunyu1024@foxmail.com * Website : https://cunyu1943.github.io * Date : 2020/3/29 11:22 * Project : LeetCode * Package : Array * Class : NineSevenSeven * Desc : 977. 有序数组的平方 */ public class NineSevenSeven { public static void main(String[] args) throws Exception { NineSevenSeven nineSevenSeven = new NineSevenSeven(); int[] A = {-4, -1, 0, , 10}; for (int item : nineSevenSeven.sortedSquares(A)) { System.out.println(item); } } public int[] sortedSquares(int[] A) { int[] resultArr = new int[A.length]; for (int i = 0; i < A.length; i++) { resultArr[i] = A[i] * A[i]; } Arrays.sort(resultArr); return resultArr; } }参考资料[1]
977. 有序数组的平方: https://leetcode-cn.com/problems/squares-of-a-sorted-array/
---来自腾讯云社区的---村雨遥
微信扫一扫打赏
支付宝扫一扫打赏