type
status
date
slug
summary
tags
category
icon
password
题目:
给你一个整数数组
nums
,返回 数组 answer
,其中 answer[i]
等于 nums
中除 nums[i]
之外其余各元素的乘积 。题目数据 保证 数组
nums
之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。请不要使用除法,且在
O(*n*)
时间复杂度内完成此题。来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/SNJvJP 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题目:
示例 1:
示例 2:
提示:
2 <= nums.length <= 105
30 <= nums[i] <= 30
- 保证 数组
nums
之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内
思路:
评论区给了个思路:
- 先算左边的,对于左边的,直接填充1,是为了对于第一个不用和第一个数相乘,从第二数开始,就从第一个数开始往后相乘
- 对于右边的数,第一个填充1,也相当于一个占位符,从倒数第二数开始就逐渐倒数遍历相乘
代码:
结果:

image-20220407151406815