数字的积
来源:互联网 发布:lol还能火多久 知乎 编辑:程序博客网 时间:2024/05/02 21:21
输入一个长度为n的整数数组a[n],输出为长度为n的整数数组output[n],要求output[i]的值为除了a[i]之外其它所有数组a内元素的乘积。不能用除法,并且时间复杂度要求为O(n)。例如输入{4, 3, 2, 1, 2},输出{12, 16, 24, 48, 24}。
方法一:
void fun(int a[], int output[], int n){int *buf = new int[n];buf[0] = 1;for (int i = 1; i < n; i++){buf[i] = buf[i-1] * a[i-1];} int right = 1;for (int i = n-1; i >= 0; i--){ output[i] = buf[i] * right;right *= a[i];}delete []buf;}
方法二:(不需要额外空间)
void fun(int a[], int output[], int n){for (int i = 0; i < n; i++){output[i] = 1;}int left = 1;int right = 1;for (int i = 0; i < n; i++){ output[i] *= left;output[n-1-i] *= right;left *= a[i];right *= a[n-1-i];}}
- 数字的积
- 数字的镜像数字
- 旋转数字的最小数字
- 匹配 数字 或者 数字,数字 ...的正则表达式
- php 获取数字的最后一位数字, 获取个位数字
- python3之数字(python的数字类型)
- 数字问题---位数上的数字
- javascript 数字字符串与数字的转换
- 输入一串数字输出最大的数字
- 数字敏感与数字的研究
- 【剑指offer】旋转数字的最小数字
- java接受输入数字的数字格式化
- 猜数字的程序
- 数字水印的关键技术
- 数字代表的意思
- java的数字判断
- 对数字的检测
- 数字的全排列
- 找出一个数组中超过一半相同的数
- 黑马程序员 java基础加强_泛型
- python中的sqlalchemy ORM学习测试代码!
- highcharts图标控件
- Working Practice-找个人相互监督助于坚持
- 数字的积
- HDOJ 3183 A Magic Lamp
- leetcode_question_113 Path Sum II
- Spring 初识
- Vmware 占用宿主机硬盘空间只增不减
- Eclipse中导入android项目名前有红叉但项目内文件无错误问题解决方法
- 单例模式
- 让你真正的了解Unity的协程(yield)的工作方式!
- Getting Started-Building Your First App