Product of Array Except Self
来源:互联网 发布:美即黑面膜怎么样 知乎 编辑:程序博客网 时间:2024/05/29 10:15
Given an array of n integers where n > 1, nums
, return an array output
such that output[i]
is equal to the product of all the elements of nums
except nums[i]
.
Solve it without division and in O(n).
For example, given [1,2,3,4]
, return [24,12,8,6]
.
Follow up:
Could you solve it with constant space complexity? (Note: The output array does not count as extra space for the purpose of space complexity analysis.)
题目大意分析:就是从一个数组得到另外一个数组,转换规则是,除这个元素外的所有元素乘积,就是新数组本位置的值
class Solution { public int[] productExceptSelf(int[] nums) { int maxCount=1; int zeroCount=0;//统计数组中有几个0 for(int i=0;i<nums.length;i++){ if(nums[i]==0){ zeroCount++; continue; } maxCount*=nums[i];//算出除了0元素之外的元素乘积 } for(int i=0;i<nums.length;i++){ if(zeroCount==1){//如果只有一个0元素,那么结果数组中只有该位置数不为0 if(nums[i]==0){ nums[i]=maxCount; for(int j=0;j<nums.length;j++){ if(j==i) { continue; } nums[j]=0; } break;////如果这里不跳出的话,会导致上面的for循环重置的0会在外层for循环产生作用 } }else if(zeroCount>=2){//如果有两个0元素,那么结果集元素都为0 for(int j=0;j<nums.length;j++){ nums[j]=0; } }else{//一个0元素都没有,那么用所有元素乘积的值除以该位置的元素 nums[i]=maxCount/nums[i]; } } return nums; }}
阅读全文
0 0
- Product of Array Except Self
- Product of Array Except Self
- Product of Array Except Self
- Product of Array Except Self
- Product of Array Except Self
- Product of Array Except Self
- Product of Array Except Self
- Product of Array Except Self
- Product of Array Except Self
- Product of Array Except Self
- Product of Array Except Self
- Product of Array Except Self
- Product of Array Except Self
- Product of Array Except Self
- Product of Array Except Self
- Product of Array Except Self
- Product of Array Except Self
- Product of Array Except Self
- 线性表顺序结构增删改查
- STL库中的list的使用和模拟实现
- JS加载与运行
- JVM类加载过程,JDK和JER区别
- log4j学习笔记
- Product of Array Except Self
- [Java--面试]--阿里巴巴面试2016
- 二分查找,你真的懂吗
- 欢迎使用CSDN-markdown编辑器
- 图像识别
- python 多并发竞争微信token刷新问题的解决方案
- JAVA 时间日期
- pygame编写飞机大战(8)-碰撞检测
- sizeof 函数