O(N)时间复杂度、O(1)空间复杂度 构造数组
来源:互联网 发布:mac mobi转pdf软件 编辑:程序博客网 时间:2024/04/30 10:07
1.给定一个数组a[N],我们希望构造数组b [N],其中b[j]=a[0]*a[1]…a[N-1] / a[j],在构造过程中,不允许使用除法;
要求:
O(1)空间复杂度和O(n)的时间复杂度;
除遍历计数器与a[N] b[N]外,不可使用新的变量(包括栈临时变量、堆空间和全局静态变量等)
要求:
O(1)空间复杂度和O(n)的时间复杂度;
除遍历计数器与a[N] b[N]外,不可使用新的变量(包括栈临时变量、堆空间和全局静态变量等)
虽然不能使用临时变量,但是可以用数组本身的某一个元素,不让用除法,应该想到迭代的用乘法,而且b中每个元素是两部分的乘积
#define N 5void create_array(int a[],int b[]){b[0]=1;for(int i=1;i<N;i++)b[i]=b[i-1]*a[i-1];b[0]=1;for(int i=N-1;i>0;i--){b[i]=b[i]*b[0];b[0]*=a[i];}}int _tmain(int argc, _TCHAR* argv[]){int a[N]={2,3,4,5,6};int b[N];create_array(a,b);for(int i=0;i<N;i++)printf("%d ",b[i]);return 0;}
0 0
- O(N)时间复杂度、O(1)空间复杂度 构造数组
- 时间复杂度O(n),空间复杂度O(1)的排序
- 时间复杂度为O(n),空间复杂度为O(1)
- 数组奇偶分离算法,时间复杂度O(n),空间复杂度O(1)。
- 返回数组中任意某个重复的数字--时间复杂度O(n)空间复杂度O(1)
- 数组中未出现的最小正整数(时间复杂度O(N),空间复杂度O(1))
- 统计数组中每个元素出现的个数,时间复杂度 O(n),空间 O(1)
- (C#)实现时间复杂度为O(n)空间复杂度为O(1)的数组中奇偶数分离
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 在O(n)时间复杂度O(1)空间复杂度求一个数组中出现多次和未出现的数字
- 统计数组中不同元素出现的次数(时间复杂度O(n),空间复杂度o(1))
- 统计数组中不同元素出现的次数(时间复杂度O(n),空间复杂度o(1))
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 在O(n)时间复杂度O(1)空间复杂度求一个数组中出现多次和未出现的数字
- 数组中只出现一次的数字,时间复杂度O(n),空间复杂度O(1)的解法
- 统计数组中不同元素出现的次数(时间复杂度O(n),空间复杂度o(1))
- 数组中重复的数字(剑指offer)+时间复杂度O(n)空间复杂度O(1)的想法
- meshgrid,contour,surf,mesh的总结
- Android之ListView实现下拉刷新
- 浅谈HTTP中Get与Post的区别
- 【日常学习】【搜索递推和其他】10.21.2015校内测试总结
- 使用python对url编码解码
- O(N)时间复杂度、O(1)空间复杂度 构造数组
- Java中生成的UUID(全局唯一标识符-----(唯一)-------)
- JavaScript的作用域
- 【笨木头Unity】入门之旅002:不谈对象,咱们谈组件
- 【笨木头Unity】入门之旅003:HelloWorld
- 各种排序算法的分析及java实现
- 海南去旅游
- 【基础练习】【DFS】codevs2806 红与黑题解
- **LeetCode-Inorder Successor in BST