当前位置:网站首页>力扣977-有序数组的平方——暴力法&双指针法
力扣977-有序数组的平方——暴力法&双指针法
2022-08-02 11:41:00 【张怼怼√】
题目描述
给你一个按 非递减顺序 排序的整数数组 nums
,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
求解思路
暴力法
遍历数组nums,并将每个元素的平方保存在新建的数组变量arr中;
对arr进行升序排序;
返回arr。
双指针法
- 创建两个指针变量first last,分别指向nums的首部和尾部;
- 每次比较两个变量所指向的元素的数值平方大小,将较大的存放在arr的高位。
输入输出示例
代码
暴力法
class Solution {
public int[] sortedSquares(int[] nums) {
int len = nums.length;
int[] arr = new int[len];
for(int i = 0; i < len; i++){
arr[i] = nums[i] * nums[i];
}
Arrays.sort(arr);
return arr;
}
}
双指针法
class Solution {
public int[] sortedSquares(int[] nums) {
int len = nums.length;
int[] arr = new int[len];
int first = 0, last = len-1;
for(int i = len-1; i >= 0; i--){
if(nums[first]*nums[first] >= nums[last]*nums[last]){
arr[i] = nums[first]*nums[first];
first++;
}else{
arr[i] = nums[last]*nums[last];
last--;
}
}
return arr;
}
}
边栏推荐
- AQS-AbstractQueuedSynchronizer
- 【MySQL系列】- LIKE查询 以%开头一定会让索引失效吗
- Running yum reports Error: Cannot retrieve metalink for reposit
- QAbstractScrollArea、QScrollArea
- Mysql事务隔离级别与MVCC(多版本并发控制)
- 面积曲线AUC(area under curve)
- 运行yum报错Error: Cannot retrieve metalink for reposit
- 【云驻共创】数据工坊平台,0代码开发数据处理业务“快”人一步
- npm WARN deprecated [email protected] This version of tar is no longer supported, and will not receive
- Deep Learning 100 Examples - Convolutional Neural Network (CNN) for mnist handwritten digit recognition
猜你喜欢
随机推荐
AlphaFold又放大招,剑指整个生物界!
Oracle 单实例19.11升级到19.12
npm WARN deprecated [email protected] This version of tar is no longer supported, and will not receive
SQL(面试实战07)
使用mosquitto过程中的问题解决
【kali-信息收集】(1.8)ARP侦查工具_Netdiscover
使用无界队列的线程池会导致内存飙升吗?
匹配滤波(四种滤波器的幅频特性)
JSP中如何正确的填写include指令中的file路径呢?
企业级数据治理工作怎么开展?Datahub这样做
C#为listview选中的项添加右键菜单
【kali-信息收集】(1.9)Metasploit+搜索引擎工具Shodan
How to technically ensure the quality of LED display?
Crack detection technology based on deep learning
【Acunetix-Forgot your password】
腾讯云云函数SCF—入门须知
运行yum报错Error: Cannot retrieve metalink for reposit
基于threejs的商品VR展示平台的设计与实现思路
openresty 性能优化
【MySQL系列】- LIKE查询 以%开头一定会让索引失效吗