--- title: "有序数组的平方" created: 2025-11-28 tags: - 算法 --- # 有序数组的平方 ## 题目 [有序数组的平方](https://leetcode.com/problems/squares-of-a-sorted-array/description/) ![[image-0bf360c0.png]] ## 思路分析 结合快排的两端逼近和归并的合并排序思想 ![[image-febad0ff.png]] 因为原数组的有序的 所以一个指针在左一个指针在右 把两数的绝对值进行比较(abs函数) 哪个更大就把它的平方放在答案数组的最右边 ## 代码实现 ```java class Solution { public: vector sortedSquares(vector& nums) { int n=nums.size(); vector res(n); int l=0,r=n-1,k=n-1; while(k>=0)//没必要l=abs(nums[r])) res[k--]=nums[l]*nums[l++]; else res[k--]=nums[r]*nums[r--]; } return res; } }; ``` ## 同类题型 ## 视频讲解 --- ⬅️ [[2-Learning/02-算法/03-刷题理模型/双指针相关模型/对撞指针/接雨水|接雨水]] 🏠 [[00-刷题理模型]] ➡️ [[有效三角形的个数|有效三角形的个数]]