Completed
Dec 23, 2024
标签
数组
双指针
相关企业
难度
简单
- 题目描述:给定一个非递减的整数数组,返回其每个数字的平方组成的新数组,要求也要以非递减顺序排序
- 代码思路:暴力方法可以将所有元素平方后再进行排序,时间复杂度较高。可以使用双指针,分别指向数组的起点和终点。原数组中平方后最大的数一定在左右两边,通过两个指针比较左右两边哪个的绝对值更大,即可判断这个数的平方后一定是当前最大的值,放在数组末端
- left指向原数组左边,right指向原数组右边
- k为新数组的索引,初始值指向新数组的末尾,逐渐向前
- while中要有=号,否则会少一个数
- if else 判断要left还是要right,都存到新数组末尾

