lc.977 有序数组的平方
题目描述
给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序 排序。
输入:nums = [-4,-1,0,3,10]
输出:[0,1,9,16,100]
解释:平方后,数组变为 [16,1,0,9,100]
排序后,数组变为 [0,1,9,16,100]
解题思路
- 原数组就是一个非递减的数组,所以经过平方后的数组,最大值就在两端产生
- 双指针方法,比较第一个和最后一个,选出最大的
- 创建一个新数组,用来存储每回比较选出的最大值
代码
class Solution {
public:
vector<int> sortedSquares(vector<int>& nums) {
int k = nums.size() - 1; //数组最后一个下标
vector<int> result(nums.size(),0); //创建一个和nums同长度的数组
for(int i = 0, j = nums.size() - 1; i <= j;){ //循环条件必须有等号,不然最后一个数据不会进行运算,也就不能装到结果数组中去
if(nums[i]*nums[i ]> nums[j]*nums[j]){
result[k] = nums[i] * nums[i];
k--;
i++;
}
else{
result[k] = nums[j] * nums[j];
k--;
j--;
}
}
return result;
}
};
注意:其中循环条件必须要有=,不然最后一个数据不会进行运算,也就不能装到结果数组中去
其他思路
先平方,后进行排序
lc.977 有序数组的平方的更多相关文章
- 代码随想录第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
2022/09/22 第二天 第一题 这题我就直接平方后排序了,很无脑但很快乐啊(官方题解是双指针 第二题 滑动窗口的问题,本来我也是直接暴力求解发现在leetCode上超时,看了官方题解,也是第一次 ...
- LeetCode977. 有序数组的平方
问题:977. 有序数组的平方 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序. 示例 1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,1 ...
- leetcode-977. 有序数组的平方
leetcode-977. 有序数组的平方 (来自 120周赛) 题意 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序. 示例 1: 输入:[-4,-1 ...
- 977. Squares of a Sorted Array有序数组的平方
网址:https://leetcode.com/problems/squares-of-a-sorted-array/ 双指针法 把左端的元素和右端的元素比较后挑出绝对值大的,将其平方放入ans中,并 ...
- LeetCode 977. Squares of a Sorted Array (有序数组的平方)
题目标签:Array 题目给了我们一组 从小到大的 integers,让我们平方数字 并且 也排序成 从小到达. 因为有负数在里面,平方后,负数在array的位置会变动. 可以设left 和 righ ...
- [Swift]LeetCode977. 有序数组的平方 | Squares of a Sorted Array
Given an array of integers A sorted in non-decreasing order, return an array of the squares of each ...
- leetcode之有序数组的平方
题目描述: 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序. 示例 1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,16,100] 示例 ...
- 有序数组每个数平方后,不同数字的个数?O(n)
此乃一道笔试题,当时的确也做出来啦.(但是在细节上还是出错啦,对多次重复出现的数字可能会重复计数,没有记录上次删除的元素) 如题,有序数组,可以知道平方之后在两边的数据较大,中间的数据较小. 因此可以 ...
- [LC] 108题 将有序数组转换为二叉搜索树 (建树)
①题目 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1. 示例: 给定有序数组: [-10,- ...
- [LC]88题 Merge Sorted Array (合并两个有序数组 )
①英文题目 Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. N ...
随机推荐
- 自定义类型与Qt元对象系统
个人发现一篇关于在Qt中使用元对象系统支持自定义类型的好博文,记录下防止丢失(如有侵权,烦请告知删除).博文原地址:http://qtdebug.com/qtbook-misc-qvariant/ Q ...
- 36.Vim笔记
1.简介 $vim [filename] vim有三种操作模式,分别称为编辑模式.插入模式和命令模式 2.编辑模式 vim编辑模式的主要用途是在被编辑的文件中移动光标的位置.一旦光标移动到所要的位置, ...
- imputation文献-A systematic evaluation of single-cell RNA-sequencing imputation methods
文章题目 A systematic evaluation of single-cell RNA-sequencing imputation methods 中文名: 单细胞RNA测序插补方法的系统评价 ...
- TypeScript - 构造函数 constructor
class Dog { // 需要先定义,才能在constructor中this指向 name: string; age: number; // 构造函数,会在对象创建时调用 // new Dog() ...
- 在控制台中输入msqyl一直报ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost'错误
错误: 在绿色Mysql的bin文件下打开cmd,输入mysql,一直报ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' ...
- mysql查询锁表和表解锁的操作
转载自:https://www.cnblogs.com/qianxiaoruofeng/p/15542468.html 第一种 1.查询是否锁表 show OPEN TABLES where In_u ...
- 侠客行+越女剑 <随笔>
侠客行:自己提炼剧情是一个很费时费劲的事情,好在剽窃百度百科不算抄袭,而且也足够还原,红字为补充 一向平静祥和的小市镇侯监集上,忽然来了二百多名杀人不眨眼的强盗.镇上乡亲们都熟悉的卖饼老者王老汉,却被 ...
- SQL-建表注释
ddl 是对表结构的操作 create(创建)命令.alter(修改)命令.drop(删除)dml 是对表数据的操作 insert(插入)命令.update(更新)命令.delete(删除) alte ...
- session.timeout.ms、heartbeat.interval.ms、max.poll.interval.ms的含义及联系
如果你使用消费者,那么一定会接触这几个参数: session.timeout.ms.heartbeat.interval.ms.max.poll.interval.ms,先让我们看看分别代表什么含义吧 ...
- vue后台管理系统——权限管理模块
电商后台管理系统的功能--权限管理模块 1. 权限管理业务分析 通过权限管理模块控制不同的用户可以进行哪些操作,具体可以通过角色的方式进行控制,即每个用户分配一个特定的角色,角色包括不同的功能权限. ...