首页 > 试题广场 >

不包含本位置值的累乘数组

[编程题]不包含本位置值的累乘数组
  • 热度指数:3344 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个数组arr,返回不包含本位置值的累乘数组
例如,arr=[2,3,1,4],返回[12, 8, 24, 6],即除自己外,其他位置上的累乘
[要求]
时间复杂度为,额外空间复杂度为


输入描述:
第一行有两个整数N, P。分别表示序列长度,模数(即输出的每个数需要对此取模)
接下来一行N个整数表示数组内的数


输出描述:
输出N个整数表示答案
示例1

输入

4 100000007
2 3 1 4

输出

12 8 24 6

备注:


头像 灌江口小二郎
发表于 2021-09-25 21:02:13
具体思路看注释呀!!!(^▽^) #include <iostream> #include <vector> //重点在于输入数据非常大,一旦发生乘积,将会导致数据溢出,返回数据将不正确 //具体思路为: /* 1.计算当前数arr[i]左边的所有累乘结果,结果保留在lr[ 展开全文
头像 瓜瓜请多指教
发表于 2020-07-23 10:17:45
include <bits/stdc++.h> using namespace std; int main(){ int N,P; cin>>N>>P; vector<int> arr(N+2,1); vector<lon 展开全文