【力扣练习题】热题100道【哈希】189. 轮转数组

class Solution {

public void rotate(int[] nums, int k) {

int n = nums.length;

// 关键:处理 k >= n 的情况,旋转 n 步相当于没有旋转,取余简化操作

k = k % n;

if (k == 0)

return; // 无需旋转,直接返回

复制代码
    int[] temp = new int[n]; // 只需要一个临时数组,减少冗余

    // 步骤1:将原数组末尾 k 个元素复制到临时数组的前 k 位
    for (int i = 0; i < k; i++) {
        temp[i] = nums[n - k + i]; // 修正索引,获取末尾第 k 个到第 1 个元素
    }

    // 步骤2:将原数组前 n-k 个元素复制到临时数组的后 n-k 位
    for (int i = 0; i < n - k; i++) {
        temp[k + i] = nums[i];
    }

    // 步骤3:将临时数组的内容复制回原始数组(关键:修改原始数组的内容,而非引用)
    System.arraycopy(temp, 0, nums, 0, n);
}

}

两种 Python 实现(常规循环版、切片优化版)的时间复杂度均为 O(n)(n 为列表长度),核心操作次数随列表长度线性增长。

相关推荐
ZPC82104 分钟前
【无标题】
人工智能·pytorch·算法·机器人
2301_764441336 分钟前
使用python构建的STAR实验ΛΛ̄自旋关联完整仿真
开发语言·python·算法
Rainy Blue8839 分钟前
前缀和与差分(蓝桥杯高频考点)
数据结构·算法·蓝桥杯
Dfreedom.10 分钟前
机器学习经典算法全景解析与演进脉络(无监督学习篇)
人工智能·学习·算法·机器学习·无监督学习
421!15 分钟前
ESP32学习笔记之GPIO
开发语言·笔记·单片机·嵌入式硬件·学习·算法·fpga开发
智算菩萨24 分钟前
【How Far Are We From AGI】4 AGI的“生理系统“——从算法架构到算力基座的工程革命
论文阅读·人工智能·深度学习·算法·ai·架构·agi
福赖26 分钟前
《算法:生产车间》
算法
alphaTao34 分钟前
LeetCode 每日一题 2026/3/16-2026/3/22
linux·windows·leetcode
空空潍35 分钟前
LeetCode力扣 hot100一刷完结
算法·leetcode
leaves falling37 分钟前
搜索插入位置(第一个≥target的位置)
算法