Q52:构建乘积数组
来源:互联网 发布:淘宝打折软件在哪里 编辑:程序博客网 时间:2024/06/05 02:43
public class Q52构建乘积数组 { /** * 题目:Q52构建乘积数组 * 题目说明:给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1], * 其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]不能使用除法 * 解题思路:由于B[i]的元素是数组A中除去A[i]外剩余元素的成绩,因此可以将其看做是两部分的成绩。即B[i]=C[i]*D[i] * 其中,C[i]=C[i-1]*A[i-1],D[i]=D[i+1]*A[i+1]。 */ public static void main(String[] args) { Q52构建乘积数组 test = new Q52构建乘积数组(); int[] A = {1,2,3,4,5,6,7,8,9}; int[] B = new int[9]; //System.out.println(A[1]); test.createMultiplyNums(A, B); } public void createMultiplyNums(int[] A, int[] B){ if(A == null || A.length == 0) return ; if(A.length == B.length && B.length > 1){ B[0] = 1; for(int i = 1; i < A.length; i++){ B[i] = B[i-1] * A[i-1];//B[i]中存放的是A[i-1]之前的数组元素的乘积 //System.out.println(B[i]); } System.out.println(B[A.length-1]); int temp = 1; for(int j = A.length-2; j >= 0; j--){ temp = temp * A[j+1]; B[j] = B[j] * temp; System.out.println(B[j]); } } }}
0 0
- Q52:构建乘积数组
- 数组------构建乘积数组
- 数组:构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 52 - 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 牛客网 | 构建乘积数组
- 构建乘积数组
- 【模模糊糊】构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 排序算法之归并排序
- 进程中的通信
- Java 性能测试 - 使用jdk自带的jvisualvm
- Spring的bean的作用域
- 基于linux聊天系统
- Q52:构建乘积数组
- POJ1915
- java类加载器
- SpringMVC 中对应的REST的四种请求方式
- 多元分类SVM(多类别SVM)程序使用说明
- Jenkins——应用篇——如何解决execute shell中启动的进程被在Job退出时被杀死问题
- 【BZOJ1758】重建计划,点分治+单调队列
- MATLAB学习笔记05——无约束一维极值问题(二)斐波那契法、基本牛顿法和全局牛顿法
- c语言 排序