您的位置:首页 > 财经 > 金融 > 无锡品牌网站建设介绍_徐州人才网最新招聘2023_网站推广的方法和途径_搜索引擎营销的英文缩写是

无锡品牌网站建设介绍_徐州人才网最新招聘2023_网站推广的方法和途径_搜索引擎营销的英文缩写是

2024/12/23 9:34:12 来源:https://blog.csdn.net/m0_75163045/article/details/143556414  浏览:    关键词:无锡品牌网站建设介绍_徐州人才网最新招聘2023_网站推广的方法和途径_搜索引擎营销的英文缩写是
无锡品牌网站建设介绍_徐州人才网最新招聘2023_网站推广的方法和途径_搜索引擎营销的英文缩写是

问题描述

给你一个按 非递减顺序 排序的整数数组 

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


问题分析:

既然给定的是一个 非递减顺序的数组

我们可以使用双指针 , 一个指向左边,一个指向右边,比较两边平方后的大小。

哪个大,就把那个数放到当前数组的后面

i--;

即可实现平方后数组 非递减。


代码实现

class Solution {public int[] sortedSquares(int[] nums) {int right=nums.length-1;int left=0;int[] num = new int[nums.length];int i=num.length-1;while(left<=right){if(nums[left]*nums[left]>nums[right]*nums[right]){//left指向的数值平方之后数值大num[i]=nums[left]*nums[left];i--;left++;}else{num[i]=nums[right]*nums[right];i--;right--;}}return num;}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com