当前位置:网站首页>力扣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;
}
}
边栏推荐
- Outsourced Student Management System Architecture Documentation
- LeetCode每日一练 —— 20. 有效的括号
- 匹配滤波(四种滤波器的幅频特性)
- CAN总线的AUTOSAR网络管理
- 运行yum报错Error: Cannot retrieve metalink for reposit
- What is the future of smartwatches?
- ansible module --yum module
- 19、商品微服务-srv层实现
- [kali-information collection] (1.8) ARP reconnaissance tool _Netdiscover
- FinClip | 来了, 2022 年 7 月更新大盘点
猜你喜欢
随机推荐
SQL function TRIM
QT笔记——在一个窗口上显示另外一个透明窗口
Deep Learning 100 Examples - Convolutional Neural Network (CNN) for mnist handwritten digit recognition
使用无界队列的线程池会导致内存飙升吗?
jvmxmx和xms参数分析(设定优化校准)
idea常用插件
Challenge LeetCode1000 questions in 365 days - Day 047 Design Circular Queue Circular Queue
使用kubesphere图形界面创建一个应用操作流程
Shell编程案例
LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之一
sva 断言资料
匹配滤波(四种滤波器的幅频特性)
Oracle 19c配置ob server
AQS-AbstractQueuedSynchronizer
Idea 全局搜索(idea如何全局搜索关键字)
看我如何用多线程,帮助运营小姐姐解决数据校对系统变慢!
网站自动翻译-网站批量自动翻译-网站免费翻译导出
“纯C”实现——三子棋小游戏
【项目管理技术的优势】
npm WARN deprecated [email protected] This version of tar is no longer supported, and will not receive