力扣题解-977. 有序数组的平方
题目: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. 有序数组的平方相关推荐
- 力扣977有序数组的平方(c++版)
977有序数组的平方(c++版) 链接: 力扣题目链接 思路 首先要理解题目里的非递减顺序是什么意思. 非递减顺序排列即是指:意思是关键字递增序排列,但是并非单调递增(因为有重复的关键字)从小到大或者 ...
- 力扣题:977. 有序数组的平方
题目链接:977. 有序数组的平方 题目: 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 示例 1: 输入:nums = [-4, ...
- 代码随想录算法训练营第二天 | 力扣977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵II
代码随想录算法训练营第二天 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II 977.有序数组的平方 题目链接:有序数组的平方 题目描述: 给你一个按 非递减顺序 排序的整 ...
- 代码随想录算法训练营第二天 | LeetCode 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
目录 一.今日心得感悟 1.数组从小到大排序 ①冒泡法--时间复杂度:O(nlogn) ②使用排序函数qsort--时间复杂度:O(nlogn) ③两端->中间(双指针法) --时间复杂度:O( ...
- 【代码随想录训练营】【Day02】第一章|数组|977.有序数组的平方|209.长度最小的子数组|59.螺旋矩阵II|总结
977. 有序数组的平方 题目详细:LeetCode.977 解这道题的思路和方法有很多,最简单的方法就是计算出数组中每个元素的平方数,并记录在新数组中,最后对新数组进行排序即可得到答案,但这个方法效 ...
- 随想录一期 day2 [977.有序数组的平方|209. 长度最小的子数组|59.螺旋矩阵II(剥洋葱)]
977.有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 思路 递增数组,平方后最大值一定在最左侧或者最右侧,可想到– ...
- 977.有序数组的平方
977.有序数组的平方 题目描述: 给你一个按 ==非递减顺序 ==排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 法一: 暴力法,遍历数组,计算每个元素的 ...
- 977. 有序数组的平方
977. 有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 示例 1: 输入:nums = [-4,-1,0,3,10 ...
- leecode:977. 有序数组的平方
leecode::977. 有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 请你设计时间复杂度为 O(n) 的算法解 ...
最新文章
- PowerShell-2.解决禁止本地执行脚本
- 计算机辅助教学导学设计研究,《计算机辅助教学》实验报告
- IBM开放Watson AI服务增加云服务使用
- dependencies.dependency.version' for org.apache.commons:commons-math3:jar is missing
- POJ1611-嫌犯【图论,并查集】
- spring注解注入IOC
- 系统运行后修改linux系统时区
- 关于分卷压缩文件打不开的问题
- 世界杯为战斗民族的历史再添荣耀与光辉_数字体验_新浪博客
- 计算机网络批量确认,【02-计算机网络面试核心】01-tcp协议与三次握手/四次挥手...
- ‘gbk‘ codec can‘t decode byte 0xae in position 199: illegal multibyte sequen 问题解决
- 甘特图中的依赖关系是什么?
- 关联规则Apriori(python实现):Bakery Bussiness Model
- 爱立信助力银和瓷业打造智慧工厂;埃森哲2021财年全球营业收入达505亿美元;华为发布11大场景化解决方案 | 全球TMT...
- springMVC的扩展与接管
- 递归、分治算法刷题笔记
- python 下载图片
- Python爬虫——个股的股价与成交量分析
- gradle Illegal entry in Gradle Dependencies d:/eclipse
- 保研面试/考研复试 可能用到的英语口语整理()