今日任务
- 977 有序数组的平方 (题目: . - 力扣(LeetCode))
- 209 长度最小的子数组 (题目: . - 力扣(LeetCode))
- 59 螺旋矩阵 II (题目:. - 力扣(LeetCode))
有序数组的平方 (双指针)
给你一个按 非递减顺序 排序的整数数组 nums
,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
想法:
这个题目猛一看其实挺简单的,直接计算所有平方,因为有负整数,还需要再排下序.就可以了,但是要求了有 o(n)的要求,肯定是让整点花活的.
问题:
想到要用到双指针,写代码时采用了快慢双指针,但是没想好处理下一步,如何使数据平方后保存,当时一直纠结在原数组上去处理,想着快慢指针将负数取反和大于 0 的数对比替换(因为是非递减嘛,即数字是递增或相等的),一直卡在这了. 后面看了讲解,才想起我不必在原数组上