LeetCode:除了自身以外数组的乘积

java 复制代码
class Solution {
    public int[] productExceptSelf(int[] nums) {
        int n = nums.length;
        int[] answer = new int[n];
        answer[0] = 1;

        //计算左侧乘积
        for(int i = 1; i < n; i ++){
            answer[i] = answer[i - 1] * nums[i - 1];
        }
        //计算右侧乘积
        int rightProduct = 1;
        for(int i = n-1; i >= 0; i--){
            answer[i] *= rightProduct;
            rightProduct *= nums[i];
        }
        return answer;
    }
}

题目要求空间复杂度为O(1),同时说明输出数组不视为额外空间,所以可以抓住这个点使用输出数组进行计算。

同时在看到**"除自己之外"** 和**"两头夹击"**这种字眼的题目的时候可以考虑使用前缀数组和后缀数组,形成肌肉记忆。

相关推荐
心运软件14 小时前
银行客户流失预测(Python 完整实战)
算法
邪神与厨二病14 小时前
牛客周赛 Round 153
python·算法
qizayaoshuap16 小时前
# ❌ 井字棋 — 鸿蒙ArkTS Minimax AI算法与博弈系统设计
人工智能·算法·华为·harmonyos
皓月斯语17 小时前
B3842 [GESP202306 三级] 春游 题解
数据结构·c++·算法·题解
atunet17 小时前
树状结构在查询优化中的作用与实现细节7
算法
徐凤年_17 小时前
rog_map参数理解
算法
春日见17 小时前
算法与数据结构----哈希表
数据结构·人工智能·算法·机器学习·自动驾驶·哈希算法·散列表
萌动的小火苗18 小时前
嵌入式开发中的栈与队列:任务调度为什么依赖数据结构
数据结构·c++·单片机·嵌入式硬件
叩码以求索18 小时前
统计按位或能得到最大值的子集数目(一)
数据结构·算法
tachibana218 小时前
hot100 数组中的第K个最大元素(215)
java·数据结构·算法·leetcode