How to solve LeetCode 977: Square of a Sorted Array problem?

2026-05-27 21:281阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计314个文字,预计阅读时间需要2分钟。

How to solve LeetCode 977: Square of a Sorted Array problem?

题目描述:给你一个按非递减顺序排列的整数数组nums,请你返回每个数字的平方组成的数组,也按非递减顺序排列。

分析:通过双指针从数组的两端开始操作,比较两端数字的平方,将较大的平方值放入结果数组中,并移动相应的指针。这样可以确保结果数组始终保持非递减顺序。

题目描述:

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

How to solve LeetCode 977: Square of a Sorted Array problem?

分析:

通过双指针从数组两边进行操作,对于新的数组,从右向左填数

代码实现:

class Solution {
public int search(int[] nums, int target) {
int left=0;//数组最左边下标
int right=nums.length-1; //数组最右边下标
while(left<=right){
int middle=left+(right-left)/2;//此写法可以防止溢出
if(nums[middle]<target){
left=middle+1;
}else if(nums[middle]>target){
right=middle-1;
}else{
return middle;
}
}
return -1;
}
}

本文共计314个文字,预计阅读时间需要2分钟。

How to solve LeetCode 977: Square of a Sorted Array problem?

题目描述:给你一个按非递减顺序排列的整数数组nums,请你返回每个数字的平方组成的数组,也按非递减顺序排列。

分析:通过双指针从数组的两端开始操作,比较两端数字的平方,将较大的平方值放入结果数组中,并移动相应的指针。这样可以确保结果数组始终保持非递减顺序。

题目描述:

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

How to solve LeetCode 977: Square of a Sorted Array problem?

分析:

通过双指针从数组两边进行操作,对于新的数组,从右向左填数

代码实现:

class Solution {
public int search(int[] nums, int target) {
int left=0;//数组最左边下标
int right=nums.length-1; //数组最右边下标
while(left<=right){
int middle=left+(right-left)/2;//此写法可以防止溢出
if(nums[middle]<target){
left=middle+1;
}else if(nums[middle]>target){
right=middle-1;
}else{
return middle;
}
}
return -1;
}
}