238. Product of Array Except Self (C++)
来源:互联网 发布:怎样获取摄像头数据 编辑:程序博客网 时间:2024/06/06 19:13
题目:
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.)
要求不能用除法
O(n)时间复杂度
解答:
//如题,要求不能用额外的时间复杂度,而且不能用除法//不能用除法的话,对于第i个值的求法,我的想法是左边的数乘积乘以右边数的乘积//以题目例子为参考:// 1 1 2 6 24 (从左往右乘)、、写代码的时候让数组往右挪一位,不用管最后的值// 1 2 3 4 (原数组)// 24 24 12 4 1(从右往左乘)、、写代码的时候让数组往左挪一位,不用管第一个值// 24 12 8 6 (答案数组)//不难发现,原数组对应位置上下两数组左右两数的乘积就是答案//为了减少代码量,尽量在一个for循环中完成。vector<int> productExceptSelf(vector<int>& nums) { int left = 1, right = 1;//左右同时开工,从1开始 int n = nums.size(); vector<int> res(n, 1); for (int i = 0; i < n; i++) { res[i] *= left; left *= nums[i]; //到这一步中间省略了一些步骤: //再造一个由n个1组成的数组,从后往前遍历乘一遍,就像上面两行一样 //再把两个数组对应位置上的值乘起来赋给第三个数组相同位置,返回第三个数组 res[n-1-i] *= right; right *= nums[n-1-i]; } return res;}//(49ms)
0 0
- LeetCode 238. Product of Array Except Self 题解(C++)
- 238. Product of Array Except Self (C++)
- 238. Product of Array Except Self c语言
- 238. Product of Array Except Self C语言
- [leetcode] 238.Product of Array Except Self
- [LeetCode]238.Product of Array Except Self
- [leetcode] 238. Product of Array Except Self
- Leetcode 238. Product of Array Except Self
- [LeetCode]238. Product of Array Except Self
- 238. Product of Array Except Self LeetCode
- LeetCode 238. Product of Array Except Self
- 238. Product of Array Except Self
- 238. Product of Array Except Self
- 238. Product of Array Except Self
- 238. Product of Array Except Self
- [LeetCode]238. Product of Array Except Self
- 238. Product of Array Except Self
- 238. Product of Array Except Self
- Discuz!积分记录表pre_common_credit_log中operation字段含义一览
- js 定时执行
- 自留地:合理设置MTU,提升下载速度
- functional/vector
- vim 多行删除与复制
- 238. Product of Array Except Self (C++)
- 569-获取整数的每一位
- JQuery中的事件 (四.事件冒泡)
- Python 三元表达式
- AJAX XMLHttpRequest -----JQUERY
- [转载]Meta标签详解
- git 命令
- Spring提示bean找不到
- fragment与activity生命周期