【Leetcode】238-Product of Array Except Self【Java实现】【Medium】【two way traverse】
2015-11-11 22:48
531 查看
复杂度要求O(n),不代表只能遍历一遍,可以遍历2遍、3遍。。。。
product--->名词:积
stem:
code:
采用了two way traverse,因为最后的结果就可以分为两个部分,左部分和右部分,所以分为两个方向的乘积。
product--->名词:积
stem:
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.)
code:
public class Solution { /* by qr 2015-11-7 two way traverse error:[0,4,0] */ public int[] productExceptSelf(int[] nums) { int len=nums.length; int [] res=new int[len]; res[0]=1; for(int i=1;i<len;i++){ res[i]=res[i-1]*nums[i-1]; } int temp=1; //要乘以temp,而不是nums[i+1] for(int i=len-2;i>=0;i--){ temp*=nums[i+1]; res[i]=res[i]*temp; } return res; } }
采用了two way traverse,因为最后的结果就可以分为两个部分,左部分和右部分,所以分为两个方向的乘积。
相关文章推荐
- Java关键字final、static使用总结
- 在spring中有三中实例化bean的方式
- 最常用的 100 个 Java 类
- 从头认识java-8.4 内部类与向上转型
- 菜鸟猿大战java之String详述
- Struts2中的校验框架
- spring管理bean的原理
- Java基础数据类型转换
- Java Web开发模式
- MyEclipse配置SVN,从SVN中捡出项目
- Eclipse的基本使用
- Struts2 简介
- Spring MVC简介
- spring4+springmvc+hibernate4 demo
- (Maven+SSM)实战之spring mybatis整合
- Java Servlet API中文说明文档
- 转载:Eclipse build Android时不生成apk问题解决方法
- Java编程思想学习笔记——枚举类型
- 深入Java单例模式
- Eclipse常用快捷键