面试算法题之旋转置换,旋转跳跃我闭着眼

轮转数组

给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。

借用临时数组

我们可以新建一个临时数组,用于存储旋转后的元素。首先获取数组的长度n,并计算k%nk值限制在数组nums长度范围内,避免不必要的旋转。创建一个临时数组ans,在第一个循环中,从位置n-k开始,将nums向量中的元素逐个添加到ans向量中。在第二个循环中,从位置 0 开始,将 nums 向量中的元素逐个添加到 ans 向量中。执行完两个循环后就得到了旋转后的数组,但题意需要通过参数nums传递结果,所以通过最后一个循环将数组ans中的元素逐个复制回数组nums中。

class Solution {
   
public:
    v

你可能感兴趣的:(算法,面试,职场和发展)