leetcode 238. Product of Array Except Self | 238. 除自身以外数组的乘积(Java)
题目
https://leetcode.com/problems/product-of-array-except-self/
题解
本题思路比较简单,先算一个原数组的总的乘积 p,然后对应除以每一个位置上的元素即可。
需要注意的是,原数组中含有 0 值时,会造成干扰。主要分为以下 三种情况:
- 原数组中没有 0,万事大吉~
- 原数组中有 1 个 0。这种情况下,在结果数组中对应位置应该为 p,其余位置应该均为 0.
- 原数组中有多于 1 个 0,这种情况下,结果数组全为 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]238.Product of Array Except Self
题目 Given an array of n integers where n > 1, nums, return an array output such that output[i] is ...
- 238. Product of Array Except Self
题目来源: https://leetcode.com/problems/product-of-array-except-self/ 自我感觉难度/真实难度: 这道题曾经在哪里做过,但是还是写不出代码, ...
- LeetCode Maximum Product Subarray(最大子数组乘积)
Find the contiguous subarray within an array (containing at least one number) which has the large ...
- 【数组递归构造二叉树】LeetCode 108. Convert Sorted Array to Binary Search Tree
LeetCode 108. Convert Sorted Array to Binary Search Tree Solution1:我的答案 构造二叉树利用递归 /*** Definition fo ...
- LeetCode Maximum Product Subarray 解题报告
LeetCode 新题又更新了.求:最大子数组乘积. https://oj.leetcode.com/problems/maximum-product-subarray/ 题目分析:求一个数组,连续子 ...
- leetcode刷刷题(44) ---- 除自身以外数组的乘积(C语言版)
2020-6-4 I once heard that the evil spirits who lived in Rashomon fled for fear of the cruelty of hu ...
- 《LeetCode力扣练习》剑指 Offer 30. 包含min函数的栈 Java
<LeetCode力扣练习>剑指 Offer 30. 包含min函数的栈 Java 一.资源 题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调 ...
- 《LeetCode力扣练习》剑指 Offer 10- I. 斐波那契数列 Java
<LeetCode力扣练习>剑指 Offer 10- I. 斐波那契数列 Java 一.资源 题目: 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N) ...
- 《LeetCode力扣练习》剑指 Offer 06. 从尾到头打印链表 Java
<LeetCode力扣练习>剑指 Offer 06. 从尾到头打印链表 Java 一.资源 题目: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入: ...
最新文章
- Android API 中文 (52) —— ZoomButtonsController.OnZoomListener
- python基础day4
- android和ios HybridApp的js交互
- 支持向量机python代码_Python中的支持向量机SVM的使用(有实例)
- 智能驾驶板块_智能驾驶股票有哪些?智能驾驶股票一览
- 关于get请求的乱码问题
- 安卓获取Java端连接
- 0基础学python做什么工作好-零基础自学Python多久可以找工作?
- c 语言与数据库技术基础教程答案,2016计算机三级《数据库技术》备考习题与答案...
- pycharm设置python环境_pycharm怎么配置python环境
- EasyGBS对GB35114的支持
- 打印服务器后台程序没有运行,win10遇到“打印后台程序服务没有运行”的解决方法...
- 《回话的技术》读后感
- 奥利给!搞定JVM就靠它了!不看感觉错过一个亿!吐血整理两个月,原创!全网第一份超详细JVM知识点导图!!!
- mysql性能监控 调优_MySQL管理之道:性能调优、高可用与监控(第2版)
- mysql中1146提示_Mysql数据库的使用总结之ERROR 1146 (42S02)
- 运维(39) 通过KubeSphere部署SpringBoot到K8S案例 DevOps
- 红米k20pro可升级到鸿蒙系统,小米9系列Redmi K20 Pro迎MIUI 12稳定版更新
- python思维导图
- 《Android移动应用基础教程》之Android购物商城