LeetCode每日一题 977. 有序数组的平方
题目链接
思路
双指针找绝对值最大的,最后反转数组。
class Solution {public:vector<int> sortedSquares(vector<int>& A) {vector<int> ret;int l = 0, r = A.size()-1;while (l <= r) {if (abs(A[l]) > abs(A[r])) {ret.push_back(A[l] * A[l]);++l;}else {ret.push_back(A[r] * A[r]);--r;}}reverse(ret.begin(), ret.end());return ret;}
};
class Solution:def sortedSquares(self, A: List[int]) -> List[int]:ret = list()l, r = 0, len(A)-1while l <= r:if (abs(A[l]) > abs(A[r])):ret.append(A[l] * A[l])l += 1else:ret.append(A[r] * A[r]) r -= 1ret.reverse()return ret
LeetCode每日一题 977. 有序数组的平方相关推荐
- 代码随想录算法训练营第二天 | LeetCode 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
目录 一.今日心得感悟 1.数组从小到大排序 ①冒泡法--时间复杂度:O(nlogn) ②使用排序函数qsort--时间复杂度:O(nlogn) ③两端->中间(双指针法) --时间复杂度:O( ...
- 代码随想录算法训练营第二天|leetcode 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
leetcode 977.有序数组的平方 想到昨天写的双指针,十分刻意用了一下,感觉还是比较生疏,还得加强练习和思考,然后发现还需要排序,想到了vector的排序sort(),但是觉得直接用不好,也忘 ...
- 代码随想录算法训练营第二天|LeetCode 977.有序数组的平方 、209.长度最小的子数组 、59.螺旋矩阵II
LeetCode 977.有序数组的平方 题目链接:977.有序数组的平方 思路: 1.先对每个数进行遍历平方,并插入新的容器中 2.对容器进行排序,返回就可以了 缺陷:开辟了新的容器空间 class ...
- 代码随想录算法训练营第二天 | LeetCode 977.有序数组的平方、LeetCode 209.长度最小的子数组、LeetCode 59.螺旋矩阵II
LeetCode 977.有序数组的平方 双指针法:数组其实是有序的, 只不过负数平方之后可能成为最大数了.那么数组平方的最大值就在数组的两端,不是最左边就是最右边,不可能是中间.此时可以考虑双指针法 ...
- 力扣题:977. 有序数组的平方
题目链接:977. 有序数组的平方 题目: 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 示例 1: 输入:nums = [-4, ...
- LeetCode 977. 有序数组的平方(详解)
977. 有序数组的平方 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序. 示例 1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,16,1 ...
- Leonard代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II。
第一章数组 (今日任务) 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结 建议大家先独立做题,然后看视频讲解,然后看文章讲解,然后在重新做一遍题,把题目AC,最后整理 ...
- 【代码随想录训练营】【Day02】第一章|数组|977.有序数组的平方|209.长度最小的子数组|59.螺旋矩阵II|总结
977. 有序数组的平方 题目详细:LeetCode.977 解这道题的思路和方法有很多,最简单的方法就是计算出数组中每个元素的平方数,并记录在新数组中,最后对新数组进行排序即可得到答案,但这个方法效 ...
- 力扣题解-977. 有序数组的平方
题目:977. 有序数组的平方 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序. 示例 1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,1 ...
最新文章
- EXSI中Linux安装tools
- win10 linux ssh自动启动,win10子系统 wsl开机启动ssh服务
- boost::fusion::replace用法的测试程序
- android wear评测,android wear5.1怎么样 android wear5.1更新评测
- 分治应用--万里挑一 找假硬币
- Linux 两台服务器之间传输文件和文件夹
- 小米又给员工发福利了! 逾3亿港元457人分
- 基于人人网的简单爬虫(一)——正则表达式
- 7805急剧发热,可能是什么原因?
- codesys中打开linux端的串口_干货分享——安卓串口通信
- 无线(互联网)+有线(内网)上外网设置
- io 流 txt本地生成
- FL Studio 20.8中文进阶高级完整版 安装下载教程
- 抗压力就是一切!!!
- gdb 行号断点调试
- php框架运行流程,thinkphp项目执行流程介绍
- 软件测试面试题:Jmeter怎么录制脚本,怎么过滤,线程组有哪些内容?
- 因子分析 factor analysis (一 ):模型的理论推导
- 甘超波:NLP五步觉察法
- 一切成功源于积累——20140928 认识货币——英镑
热门文章
- react当中子组件改变父组件的状态
- Mac 如何恢复出厂设置
- 习惯的力量之五让迟延见鬼去吧
- c++实现高精度乘法!
- JBoss5.x6.x 反序列化漏洞
- [Python图像处理] 三十八.OpenCV图像增强和图像去雾万字详解(直方图均衡化、局部直方图均衡化、自动色彩均衡化)
- MFC 基础知识:对话框背景添加图片和按钮Button添加图片
- iOS开发之实现毛玻璃效果及图片模糊效果
- 在OSI参考模型中,当两台计算机进行文件传输时,为防止中间出现网络故障而重传整个文件的情况,可通过在文件中插入同步点来解决,这个动作发生在( )
- 编写你的第一个 Django 应用,第 5 部分