题目

https://leetcode.com/problems/product-of-array-except-self/

题解

本题思路比较简单,先算一个原数组的总的乘积 p,然后对应除以每一个位置上的元素即可。

需要注意的是,原数组中含有 0 值时,会造成干扰。主要分为以下 三种情况

  1. 原数组中没有 0,万事大吉~
  2. 原数组中有 1 个 0。这种情况下,在结果数组中对应位置应该为 p,其余位置应该均为 0.
  3. 原数组中有多于 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)相关推荐

  1. [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 ...

  2. 238. Product of Array Except Self

    题目来源: https://leetcode.com/problems/product-of-array-except-self/ 自我感觉难度/真实难度: 这道题曾经在哪里做过,但是还是写不出代码, ...

  3. LeetCode Maximum Product Subarray(最大子数组乘积)

     Find the contiguous subarray within an array (containing at least one number) which has the large ...

  4. 【数组递归构造二叉树】LeetCode 108. Convert Sorted Array to Binary Search Tree

    LeetCode 108. Convert Sorted Array to Binary Search Tree Solution1:我的答案 构造二叉树利用递归 /*** Definition fo ...

  5. LeetCode Maximum Product Subarray 解题报告

    LeetCode 新题又更新了.求:最大子数组乘积. https://oj.leetcode.com/problems/maximum-product-subarray/ 题目分析:求一个数组,连续子 ...

  6. 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 ...

  7. 《LeetCode力扣练习》剑指 Offer 30. 包含min函数的栈 Java

    <LeetCode力扣练习>剑指 Offer 30. 包含min函数的栈 Java 一.资源 题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调 ...

  8. 《LeetCode力扣练习》剑指 Offer 10- I. 斐波那契数列 Java

    <LeetCode力扣练习>剑指 Offer 10- I. 斐波那契数列 Java 一.资源 题目: 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N) ...

  9. 《LeetCode力扣练习》剑指 Offer 06. 从尾到头打印链表 Java

    <LeetCode力扣练习>剑指 Offer 06. 从尾到头打印链表 Java 一.资源 题目: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入: ...

最新文章

  1. Android API 中文 (52) —— ZoomButtonsController.OnZoomListener
  2. python基础day4
  3. android和ios HybridApp的js交互
  4. 支持向量机python代码_Python中的支持向量机SVM的使用(有实例)
  5. 智能驾驶板块_智能驾驶股票有哪些?智能驾驶股票一览
  6. 关于get请求的乱码问题
  7. 安卓获取Java端连接
  8. 0基础学python做什么工作好-零基础自学Python多久可以找工作?
  9. c 语言与数据库技术基础教程答案,2016计算机三级《数据库技术》备考习题与答案...
  10. pycharm设置python环境_pycharm怎么配置python环境
  11. EasyGBS对GB35114的支持
  12. 打印服务器后台程序没有运行,win10遇到“打印后台程序服务没有运行”的解决方法...
  13. 《回话的技术》读后感
  14. 奥利给!搞定JVM就靠它了!不看感觉错过一个亿!吐血整理两个月,原创!全网第一份超详细JVM知识点导图!!!
  15. mysql性能监控 调优_MySQL管理之道:性能调优、高可用与监控(第2版)
  16. mysql中1146提示_Mysql数据库的使用总结之ERROR 1146 (42S02)
  17. 运维(39) 通过KubeSphere部署SpringBoot到K8S案例 DevOps
  18. 红米k20pro可升级到鸿蒙系统,小米9系列Redmi K20 Pro迎MIUI 12稳定版更新
  19. python思维导图
  20. 《Android移动应用基础教程》之Android购物商城

热门文章

  1. python学全栈还是运维_Python全栈学习——Python基础及Web开发
  2. 数据科学竞赛-自然语言处理赛流程
  3. python实战-pdf文件转txt
  4. python输出奇数数字序位_python对输出的奇数偶数排序实例代码
  5. 【Boost】boost库asio详解9——TCP的简单例子2
  6. 秒杀多线程第九篇 经典线程同步总结 关键段 事件 互斥量 信号量
  7. 看了这个高并发系统架构,才知道我对秒杀的误解有多深
  8. 编程思考:对象生命周期的问题
  9. 音视频技术开发周刊 | 231
  10. 音视频技术开发周刊 | 173