当前位置: 首页 > news >正文

LeetCode 解题思路 8(Hot 100)

在这里插入图片描述

解题思路:

  1. 三次反转法: 首先反转整个数组,然后反转前 k 个元素,最后反转剩余的 n-k 个元素。

Java代码:

class Solution {
    public void rotate(int[] nums, int k) {
        int n = nums.length;
        if (n == 0 || k == 0) return;
        k %= n;

        reverse(nums, 0, n - 1);
        reverse(nums, 0, k - 1);
        reverse(nums, k, n - 1);

    }

    public void reverse(int[] nums, int start, int end) {
        while (start < end) {
            int temp = nums[start];
            nums[start] = nums[end];
            nums[end] = temp;
            start++;
            end--;
        }
    }
}

复杂度分析:

  • 时间复杂度: ​O(n)。
  • 空间复杂度: ​O(1)。

在这里插入图片描述

解题思路:

  1. 计算左侧乘积: 创建一个结果数组 result,遍历原数组 nums,计算每个元素左侧所有元素的乘积,并将其存入 result 中对应的位置。
  2. 计算右侧乘积并与左侧乘积结合: 从右向左遍历原数组 nums,维护一个变量 rightProduct 表示当前元素右侧所有元素的乘积。将 rightProduct 与 result 中已有的左侧乘积相乘,得到最终结果。

Java代码:

class Solution {
    public int[] productExceptSelf(int[] nums) {
        int n = nums.length;
        int[] result = new int[n];

        int leftProduct = 1;
        for (int i = 0; i < n; i++) {
            result[i] = leftProduct;
            leftProduct *= nums[i];
        }

        int rightProduct = 1;
        for (int i = n - 1; i >= 0; i--) {
            result[i] *= rightProduct;
            rightProduct *= nums[i];
        }

        return result;
    }
}

复杂度分析:

  • 时间复杂度: 总时间复杂度为 ​O(n)。
  • 空间复杂度: 使用了一个额外的数组 result 来保存结果,空间复杂度为 ​O(n)。

相关文章:

  • Java Maven 项目问题:org.dom4j:dom4j:pom:2.1.3 failed to transfer from...
  • 分布式锁—2.Redisson的可重入锁一
  • 机器学习(五)
  • 线程相关八股
  • 【论文分析】语义驱动+迁移强化学习:无人机自主视觉导航的高效解决方案(语义驱动的无人机自主视觉导航)
  • 基于开源库编写MQTT通讯
  • Unity 内置渲染管线各个Shader的用途和性能分析,以及如何修改Shader(build in shader 源码下载)
  • Spring(二)容器
  • 2025年能源工作指导意见
  • 6.C#对接微信Native支付(退款申请、退款回调通知)
  • 分布式中间件:Redis介绍
  • Linux驱动开发之串口驱动移植
  • Android Studio 新版本Gradle发布本地Maven仓库示例
  • The Rust Programming Language 学习 (二)
  • jupyter汉化、修改默认路径详细讲解
  • STM32标准库之编码器接口示例代码
  • Flutter管理项目实战
  • 蓝桥试题:斐波那契数列
  • 【Leetcode 每日一题】1278. 分割回文串 III
  • SpringBoot系列之Spring AI+DeekSeek创建AI应用
  • 成都警方:在地铁公共区域用改装设备偷拍女乘客,男子被行拘
  • 大学男生被捉奸后将女生推下高楼?桂林理工大学辟谣
  • 日趋活跃!2024年我国数据生产总量同比增长25%
  • “不意外”和“不遗余力”,直击上海商超对接外贸企业
  • 日月谭天丨赖清德强推“脱中入北”是把台湾带向死路
  • 网警侦破特大“刷量引流”网络水军案:涉案金额达2亿余元