标签:
public class Solution { public int[] productExceptSelf(int[] nums) { int length = nums.length; int[] result = new int[length]; int tmp = 1; for (int i = 0; i < length - 1; i++) { tmp *= nums[i]; result[i] = tmp; } tmp = 1; for (int i = length - 1; i > 0; i--) { result[i] = tmp * result[i - 1]; tmp *= nums[i]; } result[0] = tmp; return result; } }
使用除法的话,要注意一下0
public class Solution { public int[] productExceptSelf(int[] nums) { int length = nums.length; int[] result = new int[length]; int zero = 0; int index = 0; int tmp = 1; for (int i = 0; i < length; i++) { int num = nums[i]; if (num == 0) { if (zero > 0) { return result; } zero ++; index = i; } else { tmp *= num; } } if (zero != 0) { result[index] = tmp; return result; } for (int i = 0; i < length; i++) { result[i] = tmp / nums[i]; } return result; } }
[LeetCode]Product of Array Except Self
标签:
原文地址:http://www.cnblogs.com/vision-love-programming/p/5020929.html