【Leetcode刷题篇】leetcode238 除自身以外数组的乘积
发布日期:2021-06-29 15:35:06 浏览次数:2 分类:技术文章

本文共 603 字,大约阅读时间需要 2 分钟。

给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。

示例:

输入: [1,2,3,4]
输出: [24,12,8,6]

提示:题目数据保证数组之中任意元素的全部前缀元素和后缀(甚至是整个数组)的乘积都在 32 位整数范围内。

说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题。

进阶:

你可以在常数空间复杂度内完成这个题目吗?( 出于对空间复杂度分析的目的,输出数组不被视为额外空间。)

解题思路:用数组来维护左数组,之后用R来维护右边的数,从而得到最终的值。

class Solution {
public int[] productExceptSelf(int[] nums) {
//结果数组 int[] res = new int[nums.length]; // 左边开始 // 第一个数无左边 res[0] = 1; for(int i=1;i
=0;i--) {
res[i] = res[i]*R; // 更新R R = R * nums[i]; } return res; } }

转载地址:https://codingchaozhang.blog.csdn.net/article/details/111240685 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【Leetcode刷题篇】leetcode33 搜索旋转排序数组
下一篇:【Leetcode刷题篇】leetcode240 搜索二维矩阵II

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月20日 19时41分19秒