题目:977. 有序数组的平方

给定一个按非递减顺序排序的整数数组 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
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

法1:直接平方,然后排序;这样没有利用数组的非递减顺序排序特性。

法2:分析可知,数组经平方后其数值就像一个哑铃,数组中的数中间小,两端大。

因此,可以利用双指针方法,从数组的两端向中间遍历,得到的数值逆序存放即可。

代码

class Solution {public:vector<int> sortedSquares(vector<int>& A) {int start = 0;int end = A.size() - 1;vector<int> ans(end + 1);int pos = end;while (start <= end) {int startSq = A[start] * A[start];int endSeq = A[end] * A[end];if (startSq > endSeq) {ans[pos] = startSq;start ++;} else {ans[pos] = endSeq;end --;}pos--;}return ans;}
};

力扣题解-977. 有序数组的平方相关推荐

  1. 力扣977有序数组的平方(c++版)

    977有序数组的平方(c++版) 链接: 力扣题目链接 思路 首先要理解题目里的非递减顺序是什么意思. 非递减顺序排列即是指:意思是关键字递增序排列,但是并非单调递增(因为有重复的关键字)从小到大或者 ...

  2. 力扣题:977. 有序数组的平方

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

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

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

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

    目录 一.今日心得感悟 1.数组从小到大排序 ①冒泡法--时间复杂度:O(nlogn) ②使用排序函数qsort--时间复杂度:O(nlogn) ③两端->中间(双指针法) --时间复杂度:O( ...

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

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

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

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

  7. 977.有序数组的平方

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

  8. 977. 有序数组的平方

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

  9. leecode:977. 有序数组的平方

    leecode::977. 有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 请你设计时间复杂度为 O(n) 的算法解 ...

最新文章

  1. PowerShell-2.解决禁止本地执行脚本
  2. 计算机辅助教学导学设计研究,《计算机辅助教学》实验报告
  3. IBM开放Watson AI服务增加云服务使用
  4. dependencies.dependency.version' for org.apache.commons:commons-math3:jar is missing
  5. POJ1611-嫌犯【图论,并查集】
  6. spring注解注入IOC
  7. 系统运行后修改linux系统时区
  8. 关于分卷压缩文件打不开的问题
  9. 世界杯为战斗民族的历史再添荣耀与光辉_数字体验_新浪博客
  10. 计算机网络批量确认,【02-计算机网络面试核心】01-tcp协议与三次握手/四次挥手...
  11. ‘gbk‘ codec can‘t decode byte 0xae in position 199: illegal multibyte sequen 问题解决
  12. 甘特图中的依赖关系是什么?
  13. 关联规则Apriori(python实现):Bakery Bussiness Model
  14. 爱立信助力银和瓷业打造智慧工厂;埃森哲2021财年全球营业收入达505亿美元;华为发布11大场景化解决方案 | 全球TMT...
  15. springMVC的扩展与接管
  16. 递归、分治算法刷题笔记
  17. python 下载图片
  18. Python爬虫——个股的股价与成交量分析
  19. gradle Illegal entry in Gradle Dependencies d:/eclipse
  20. 保研面试/考研复试 可能用到的英语口语整理()

热门文章

  1. ffmpeg h264文件转mp4
  2. Jstack查询线程堆栈
  3. Java中元空间解析
  4. java中,什么是GC?GC的基本原理。
  5. 佛教禅理——对待命运
  6. Java银行柜员业务绩效考核系统(含源码+论文+答辩PPT等)
  7. linux常用命令 cp命令的使用和介绍
  8. ERROR: Cannot uninstall 'pywin32'.
  9. FPGA[视频+文档+例程]170G相关资料放送(持续更新)
  10. 2018/09/29Web前端学习第五课