[LeetCode 238] Product of Array Except Self
2015-09-17 03:57
363 查看
Given an array of n integers where n > 1,
Solve it without division and in O(n).
For example, given
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.)
Solution:
straightforward
1. there would be several 0s in the array. if have more than one 0, then result should be [0000], if only has one 0, result [0000{non-zero}000]
2. if no 0s in array, keep all element product, each time divided by array[i]
nums, return an array
outputsuch that
output[i]is equal to the product of all the elements of
numsexcept
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.)
Solution:
straightforward
1. there would be several 0s in the array. if have more than one 0, then result should be [0000], if only has one 0, result [0000{non-zero}000]
2. if no 0s in array, keep all element product, each time divided by array[i]
public int[] productExceptSelf(int[] nums) { int[] result = new int[nums.length]; long pro = 1; int zeroNum = 0; for(int i=0;i<nums.length;i++){ result[i] = 0; if(nums[i] == 0) { zeroNum++; }else { pro *= (long) nums[i]; } } if(zeroNum>1) return result; for(int i=0;i<nums.length;i++){ if(nums[i] == 0) { result[i] = (int)pro; }else { result[i] = (zeroNum == 1) ? 0 : (int) (pro/nums[i]); } } return result; }
相关文章推荐
- 从Activity的启动细窥BinderIPC(3)
- ?Min Stack
- Container With Most Water 解答
- 从Activity的启动细窥BinderIPC(2)
- 款31:将文件间的编译依存关系降到最低
- 课下参考二 安装Linux系统初步
- 课下参考五 linux的ssh服务实现多用户登录linux系统--windows客户端篇
- java网络编程【精简篇】
- Single Number II
- 从Activity的启动细窥BinderIPC(1)
- 课下参考四 配置并使用ssh登录LINUX的主机--windows篇
- 「LintCode」java字符串練習四──anagrams
- CSS样式小总结
- 《女士品茶》与统计检验
- 浅谈Linux中的信号处理机制(一)
- [CareerCup] 9.1 Climbing Staircase 爬楼梯
- cf#320 Div.2 Problem D "Or" Game
- 二叉树重建及遍历
- *LeetCode-Remove Linked List Elements
- git-cola