LeetCode 977. 有序数组的平方
文章目录
- 1. 题目信息
- 2. 解题
1. 题目信息
给定一个按非递减顺序排序的整数数组 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
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
- 找到数组中第一个非负数下标 i,第一个负数下标 j = i - 1;
- 从中间向两边比较 abs(A[ j ]) 和 A[ i ],取小的数的平方push进入答案数组ans
class Solution {public:vector<int> sortedSquares(vector<int>& A) {int i, j;for (i = 0; i < A.size() && A[i] < 0; ++i){//find the index of nonpositive value}j = i-1;vector<int> ans;while(j >= 0 && i < A.size()){if(A[i] < abs(A[j])){ans.push_back(A[i]*A[i]);++i;}else{ans.push_back(A[j]*A[j]);--j;}}if(j < 0){while(i < A.size()){ans.push_back(A[i]*A[i]);++i;}}else//i到达末尾{while(j >= 0){ans.push_back(A[j]*A[j]);--j;}}return ans;}
};
LeetCode 977. 有序数组的平方相关推荐
- 代码随想录算法训练营第二天|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.有序数组的平方 双指针法:数组其实是有序的, 只不过负数平方之后可能成为最大数了.那么数组平方的最大值就在数组的两端,不是最左边就是最右边,不可能是中间.此时可以考虑双指针法 ...
- 代码随想录算法训练营第二天 | LeetCode 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
目录 一.今日心得感悟 1.数组从小到大排序 ①冒泡法--时间复杂度:O(nlogn) ②使用排序函数qsort--时间复杂度:O(nlogn) ③两端->中间(双指针法) --时间复杂度:O( ...
- LeetCode 977. 有序数组的平方(详解)
977. 有序数组的平方 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序. 示例 1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,16,1 ...
- leetcode(977)有序数组的平方
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,1 ...
- leetcode 977. 有序数组的平方(双指针)
给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序. 示例 1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,16,100] 示例 2: 输入: ...
- Leetcode 977.有序数组的平方
/* 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 示例 1:输入:nums = [-4,-1,0,3,10] 输出:[0,1,9 ...
- 2022-7-6 Leetcode 977.有序数组的平方
为什么循环条件要设置 i <= j? 因为最后是 i 和 j 同时指向最小的数字. class Solution {public:vector<int> sortedSquares( ...
最新文章
- TensorFlow优化器及用法
- LR分析法从理解到运用
- 定时器0工作方式1,定时1s
- HDFS分布式文件系统理论知识
- Qt之模式、非模式、半模式对话框
- Vue指令之v-on
- win7 开始 计算机箭头,Windows7美化教程:Win7快捷方式箭头怎么去掉
- Resolution 归结原理
- 向你推荐一个五星级云原生DevOps论坛
- RoaringBitmap应用场景
- 【雅思口语】安娜口语学习记录 Part1
- Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering
- C - C语言实验——求两个整数之中较大者
- 简明扼要说浏览器环境
- Linux文本处理三剑客(awk、grep、sed)
- eclipse设置护眼豆沙绿背景色以及字体颜色
- Win10,Win11系统安全中心提醒“找到可能不需要的应用”弹窗,如何关闭?
- 解决ADB搜不到设备的问题
- 如何安装Java软件开发工具包(JDK)
- TiDB Server
热门文章
- 八大排序算法:插入(2:插入、希尔)、选择(2:选择、堆)、交换(2:冒泡、快速)、归并、基数
- 基于matlab 宗晓萍,基于ADAMS和MATLAB的机械臂控制仿真
- python 比赛成绩预测_利用 Python 预测英雄联盟胜负,分析了 5 万多场比赛才得出的数据!值得,涨知识了!...
- 结构体定义的三钟方式
- 第二季3:海思MPP模块与视频缓冲池
- WPF 开源项目 【watcher】 守望者,一款监控,统计,分析你每天在自己电脑上究竟干了什么的软件...
- Sub-process /usr/bin/dpkg returned an error code (1)解决办法
- 【struts2】预定义拦截器
- 哥谈的是语言,不是寂寞
- SQL Server中常用全局变量介绍