1.有序数组的平方:
给你一个按 非递减顺序 排序的整数数组 nums
,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
方法一:暴力解法
思路:遍历所有数,求其平方,再进行排序。
代码:
方法二:双指针
思路:
如图,比较左右指针所指数值绝对值的大小,若左边大于右边则先提取出左边数值的平方,然后使左指针右移,继续进行该步骤,知道所有数都被取到。
代码:
2.旋转数组:
给定一个数组,将数组中的元素向右移动 k
个位置,其中 k
是非负数。
思路:
1.先进行第一次翻转:
2.在k的取值处将其分为左右两部分:
以k=3为例子:
3.左右两部分分别进行翻转然后在组合:
代码: