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

示例

示例 1:

输入:nums = [-4,-1,0,3,10]
输出:[0,1,9,16,100]
解释:平方后,数组变为 [16,1,0,9,100]
排序后,数组变为 [0,1,9,16,100]

示例 2:

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

提示

1 <= nums.length <= 104
-104 <= nums[i] <= 104
nums 已按 非递减顺序 排序

进阶

请你设计时间复杂度为 O(n) 的算法解决本问题

解题思路

最简单的方法就是将数组中的数先平方计算,再直接排序输出

Solution

Demo1:平方计算,排序输出

    public int[] sortedSquares2(int[] nums) {int[] array = new int[nums.length];for (int i = 0; i < nums.length; i++) {array[i] = nums[i] * nums[i];}Arrays.sort(array);return array;}

复杂度分析1

时间复杂度:,其中 n 是数组 的长度。

空间复杂度:,除了存储答案的数组以外,我们需要的栈空间进行排序。

NO.4 计算有序数组的平方相关推荐

  1. 977.有序数组的平方

    977.有序数组的平方 题目描述: 给你一个按 ==非递减顺序 ==排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 法一: 暴力法,遍历数组,计算每个元素的 ...

  2. 代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II。

    代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II. 977.有序数组的平方 209. 长度最小的子数组 59. 螺旋矩阵 II 977.有序数组的 ...

  3. 代码随想录算法训练营第二天|LeetCode977.有序数组的平方、LeetCode209.长度最小的子数组、LeetCode59.螺旋矩阵II。

    LeetCode977.有序数组的平方 题目链接:LeetCode977.有序数组的平方 暴力解法: class Solution { public:vector<int> sortedS ...

  4. 代码随想录算法训练营第二天 | 力扣977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵II

    代码随想录算法训练营第二天 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II 977.有序数组的平方 题目链接:有序数组的平方 题目描述: 给你一个按 非递减顺序 排序的整 ...

  5. 【代码随想录训练营】【Day02】第一章|数组|977.有序数组的平方|209.长度最小的子数组|59.螺旋矩阵II|总结

    977. 有序数组的平方 题目详细:LeetCode.977 解这道题的思路和方法有很多,最简单的方法就是计算出数组中每个元素的平方数,并记录在新数组中,最后对新数组进行排序即可得到答案,但这个方法效 ...

  6. 代码随想录算法训练营Day02 | LeetCode977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II

    LeetCode977. 有序数组的平方 题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/ 思路:看到题目的第一想法是使用暴力法 ...

  7. 算法-----有序数组的平方

    题目 有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 示例 1: 输入:nums = [-4,-1,0,3,10] ...

  8. 力扣 有序数组的平方

    力扣 有序数组的平方 题目描述 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序. 示例 1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,1 ...

  9. 随想录一期 day2 [977.有序数组的平方|209. 长度最小的子数组|59.螺旋矩阵II(剥洋葱)]

    977.有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 思路 递增数组,平方后最大值一定在最左侧或者最右侧,可想到– ...

  10. 力扣题解-977. 有序数组的平方

    题目:977. 有序数组的平方 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序. 示例 1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,1 ...

最新文章

  1. 2022-2028年中国第五代移动通信技术(5G)市场研究及前瞻分析报告
  2. [Hdu3652]B-number(数位DP)
  3. 深度学习已经取得的进展
  4. 百练OJ:4003:十六进制转十进制(python三行代码实现)
  5. Java基础day21
  6. 元素的层次结构和HTML文档结构
  7. OC中的几种延迟执行方式
  8. Android下强制打开软键盘
  9. 【转】QT布局QGridLayout QHBoxLayout QVBoxLayout简要分析!!
  10. python excel案例导入jira_Python操作Jira库常用方法解析
  11. jQuery 为动态添加的元素绑定事件
  12. 服务器文件重命名称,在服务器重命名文件与Python
  13. 前端零基础 JS 教学 第六天 06 - 静态实例成员与 Date日期,包装类型,字符串方法...
  14. React的单向数据流与组件间的沟通
  15. Sql Server trace flags
  16. 基于Prometheus+Grafana打造企业级Flink监控系统
  17. 图论及其应用 2011年 期末考试 答案总结
  18. petalinux设计流程
  19. 信息奥赛一本通1196:踩方格
  20. oracle 创建会话表,oracle临时会话表在存储过程中的使用

热门文章

  1. vue修改编码_看,官方出品了 Vue 编码风格指南!
  2. Oracle查询优化改写技巧与案例总结一
  3. spring源码-bean加载整体流程
  4. SimpleDateFormat-多线程问题
  5. 转载:扒一扒Profiler中这几个“占坑鬼”
  6. Linux--进程组 作业 会话 守护(精灵)进程
  7. apollocaffe编译问题
  8. Linux---Samba文件共享服务
  9. Mysql 的ERROR 1005 (HY000): Can't create table 'xxx' (errno: 150)
  10. Visual Studio Code如何打开多个tab标签