leetcode977-Squares of a Sorted Array

题目

给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。

示例 1:

输入:nums = -4,-1,0,3,10

输出:0,1,9,16,100

解释:平方后,数组变为 16,1,0,9,100

排序后,数组变为 0,1,9,16,100

分析

这道题目用双指针遍历可以很好的解决,因为平方以后最小的元素肯定是在中间,所以每次只要比较首尾俩个元素的大小取最大值即可

java 复制代码
public class squaresofaSortedArray {
	public static void main(String[] args) {
		int[] arr = {-4,-1,0,3,10};
		int[] brr = getArray(arr);
		for(int i = 0;i<brr.length;i++) {
			System.out.println(brr[i]);
		}
	}
	public static int[] getArray(int[] arr) {
		int start = 0;
		int end = arr.length - 1;
		int[] brr = new int[arr.length];
		int j = arr.length - 1;
		while(start <= end) {
			if(Math.abs(arr[start]) > Math.abs(arr[end])) {
				brr[j--] = arr[start] * arr[start];
				start++;
			} else {
				brr[j--] = arr[end] * arr[end];
				end--;
			}
		}
		return brr;
	}
}
相关推荐
摇滚侠8 分钟前
Maven 入门+高深 微服务案例 122-125
java·微服务·maven
QuZero19 分钟前
Guava Cache Deep Dive
java·后端·算法·guava
随意起个昵称25 分钟前
线性dp-LIS题目4(A Twisty Movement)
算法·动态规划
Felven36 分钟前
B. Fair Numbers
数据结构·算法
人道领域39 分钟前
【LeetCode刷题日记】93.复原IP地址
java·开发语言·算法·leetcode
jarreyer1 小时前
【算法记录1】模型训练问题
算法
Felven1 小时前
D. Friends and the Restaurant
算法
摇滚侠1 小时前
JavaWeb 全套教程 Listener 112-113
java·开发语言·servlet·tomcat·intellij-idea
想吃火锅10051 小时前
【leetcode】165.比较版本号js
javascript·算法·leetcode
San813_LDD1 小时前
[量化]《浮点数比较的艺术:从内存布局到极致性能优化》
网络·算法