leetcode 238. Product of Array Except Self | 238. 除自身以外数组的乘积(Java)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 238. Product of Array Except Self | 238. 除自身以外数组的乘积(Java)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
https://leetcode.com/problems/product-of-array-except-self/
題解
本題思路比較簡單,先算一個原數組的總的乘積 p,然后對應除以每一個位置上的元素即可。
需要注意的是,原數組中含有 0 值時,會造成干擾。主要分為以下 三種情況:
代碼如下。
class Solution {public int[] productExceptSelf(int[] nums) {int p = 1;int zeroCount = 0;int zeroIndex = -1;int[] arr = new int[nums.length];for (int i = 0; i < nums.length; i++) {if (nums[i] != 0) {p *= nums[i];} else {zeroIndex = i;if (++zeroCount > 1) return arr; // 剪枝}}if (zeroCount == 1) {arr[zeroIndex] = p;return arr;}for (int i = 0; i < nums.length; i++) {arr[i] = p / nums[i];}return arr;} }總結
以上是生活随笔為你收集整理的leetcode 238. Product of Array Except Self | 238. 除自身以外数组的乘积(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 236. Lowest
- 下一篇: leetcode 240. Search