当前位置:网站首页>力扣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;
}
}
边栏推荐
猜你喜欢
随机推荐
CCF paper conference IEEE how to query all articles of a conference journal
字母交换--字符串dp
openresty 性能优化
SQLAlchemy使用教程
Problem solving in the process of using mosquitto
pyqt5连接MYSQL数据库问题
Oracle 单实例19.11升级到19.12
企业级数据治理工作怎么开展?Datahub这样做
10份重磅报告 — 展望中国数字经济未来
ssm网页访问数据库数据报错
细学常用类,集合类,IO流
Crack detection technology based on deep learning
leetcode: 200. Number of islands
5G网络切片技术
企业级数据治理工作怎么开展?Datahub这样做
sqli-labs(less-11)
How to technically ensure the quality of LED display?
Several reasons why applet plugins benefit developers
Camera Hal OEM模块 ---- cmr_snapshot.c
Running yum reports Error: Cannot retrieve metalink for reposit