LeetCode 训练场:977. 有序数组的平方
发布日期:2021-06-29 18:13:36 浏览次数:2 分类:技术文章

本文共 580 字,大约阅读时间需要 1 分钟。

1. 题目

2. 描述

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

示例 1:

输入: [-4,-1,0,3,10]

输出: [0,1,9,16,100]

示例 2:

输入: [-7,-3,2,3,11]

输出: [4,9,9,49,121]

3. 思路

遍历数组,然后将数组元素的平方存入一个新的数组中,然后返回排序后的数组即可,主要操作是遍历( O ( n ) O(n) O(n))和排序( O ( n l o g n ) O(nlogn) O(nlogn)),最后时间复杂度为 O ( n l o g n ) O(nlogn) O(nlogn).

4. 实现

public int[] sortedSquares(int[] A) {
// 声明一个 A 的等长数组用于存放平方结果 int[] result = new int[A.length]; // 遍历数组,将其元素的平方存到 result 中 for (int i = 0; i < A.length; i++) {
result[i] = A[i] * A[i]; } // 数组排序 Arrays.sort(result); return result;}

转载地址:https://cunyu1943.blog.csdn.net/article/details/107057369 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LeetCode 训练场:905. 按奇偶排序数组
下一篇:LeetCode 训练场:1464. 数组中两元素的最大乘积

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年05月01日 15时51分11秒