leetcode -- Product of Array Except Self -- 重点。常考
2015-12-11 22:04
453 查看
https://leetcode.com/problems/product-of-array-except-self/
由于output[i] = (x0 * x1 * … * xi-1) * (xi+1 * …. * xn-1)
因此执行两趟循环:
第一趟正向遍历数组,计算x0x_0 ~ xi−1x_{i-1}的乘积
第二趟反向遍历数组,计算xi+1x_{i+1} ~ xn−1x_{n-1}的乘积
Note:
- two pointers 的思想,从左右两边分别scan。
- max, min, prod 等都可以变成current_max, current_min, current_prod伴随着scan一个数组
- 自己能想出来。
参考http://bookshadow.com/weblog/2015/07/16/leetcode-product-array-except-self/
由于output[i] = (x0 * x1 * … * xi-1) * (xi+1 * …. * xn-1)
因此执行两趟循环:
第一趟正向遍历数组,计算x0x_0 ~ xi−1x_{i-1}的乘积
第二趟反向遍历数组,计算xi+1x_{i+1} ~ xn−1x_{n-1}的乘积
Note:
- two pointers 的思想,从左右两边分别scan。
- max, min, prod 等都可以变成current_max, current_min, current_prod伴随着scan一个数组
- 自己能想出来。
参考http://bookshadow.com/weblog/2015/07/16/leetcode-product-array-except-self/
class Solution(object): def productExceptSelf(self, nums): """ :type nums: List[int] :rtype: List[int] """ leftprod = 1 res = [0]*len(nums) for i in xrange(len(nums)): res[i] = leftprod leftprod *= nums[i] rightprod = 1 for i in xrange(len(nums) - 1, -1, -1): res[i] *= rightprod rightprod *= nums[i] return res
相关文章推荐
- Hive
- bzoj:1632: [Usaco2007 Feb]Lilypad Pond
- win32自绘按钮,使用GDI+(一)
- js固定两位小数toFixed(2)
- 【转】ps命令详解
- Android设计中的.9.png
- Eclipse的LogCat总是自动清空怎么办?
- CentOS7系统下修改网卡为eth0
- hibernate annotation注解方式来处理映射关系
- cmd的forfiles命令详解
- Eclipse的LogCat总是自动清空怎么办?
- Eclipse的LogCat总是自动清空怎么办?
- SPARK
- EL表达式 (转)
- js里的数组push用法及append()
- Eclipse的LogCat总是自动清空怎么办?
- android怎样调用@hide和internal API
- linux 木马清理过程
- 深入分析Parquet列式存储格式
- hide(),show()