当前位置:网站首页>力扣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;
}
}边栏推荐
猜你喜欢

yolo格式(txt)数据集转VOC(xml)

面积曲线AUC(area under curve)

LeetCode每日一练 —— 20. 有效的括号

Hub and Spoke配置案例

CAN总线的AUTOSAR网络管理
![[kali-information collection] (1.8) ARP reconnaissance tool _Netdiscover](/img/04/f477cd8726d147b892f6050d46c312.png)
[kali-information collection] (1.8) ARP reconnaissance tool _Netdiscover

C#为listview选中的项添加右键菜单

AQS-AbstractQueuedSynchronizer

Mysql事务隔离级别与MVCC(多版本并发控制)

CCF paper conference IEEE how to query all articles of a conference journal
随机推荐
字母交换--字符串dp
excel 批量翻译-excel 批量函数公司翻译大全免费
SQL function TRIM
find查找多类型结尾文件
当POC遇见RPA:RPA项目顺利实施的关键
基于深度学习的裂缝检测技术
npm run dev 和 npm run serve区别
Oracle 单实例19.11升级到19.12
Problem solving in the process of using mosquitto
Coroutines and Lifecycle in Kotlin
Axure谷歌浏览器扩展程序下载及安装方法(免翻墙)
Failure Analysis | A SELECT statement crashes MySQL, what happened?
npm install报错npm ERR Could not resolve dependency npm ERR peer
【Acunetix-忘记密码】
SQL function $TRANSLATE
Shell编程之条件语句
Mysql事务隔离级别与MVCC(多版本并发控制)
QT笔记——在一个窗口上显示另外一个透明窗口
ES2020-23简单易懂又实用的精选特性讲解 日常开发必备干货!
Breaking the Boundary, Huawei's Storage Journey