长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数的交换.将数组中的元素按对应位置放置使得a[i]=i
来源:互联网 发布:千股跌停 知乎 编辑:程序博客网 时间:2024/06/05 00:21
原文链接:http://blog.csdn.net/u014659656/article/details/45115573
Question:长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数的交换.将数组中的元素按对应位置放置使得a[i]=i;
此题目中的数据很像一个哈希表,但是只能用和0交换的方式进行位置调整。目前只知道算法复杂度为o(n^2)空间复杂度为o(1)的方法。
思路:
从最大的元素值n-1开始,一次将元素放到正确的位置。由于只能和0交换,所以一次操作需要两次对换。1.将第i个元素中的值和0交换,使得a[i]=0;2.将当前最大值curMax(即i)和0交换,从而使得a[i]=curMax=i;3.i--,重复1和2,直到所有的元素对号入座
阅读全文
0 0
- 长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数的交换.将数组中的元素按对应位置放置使得a[i]=i
- 长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数的交换.将数组中的元素按对应位置放置使得a[i]=i
- 长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数的swap,请设计并实现排序。
- 长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数的swap 请设计并实现排序
- 长度为N的数组乱序存放着0带N-1.现在只能进行0与其他数的swap操作,请设计并实现排序,必须通过交换实现排序。
- google校招笔试题 2.2 长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数的swap,请设计并实现排序。
- 设A是n*n的对称矩阵,将A的对角线及对角线上方的元素以列为主的次序存放在一维数组B[1..n(n+1)/2]中,对上述任一元素aij(1<=i,j<=n,且i<=j)在B中的位置为()
- 长度为M的数组A,找出位置N,使得A[0]...A[N-1]和A[N]...A[M - 1]的和的乘积为最大。
- 2016魅族校招的一道笔试题,将一个长度为n的数组中存放的是未排序的0到n-1,要求只能将0和其他数swap,完成数组排序
- “数组a,长度为n(索引为0至n-1)。现要求更新数组的各个元素,使新数组的第i个元素等于原数组中除第i个元素之外各元素之积。”
- 数组a,长度为n(索引为0至n-1)。现要求更新数组的各个元素,使新数组的第i个元素等于原数组中除第i个元素之外各元素之积
- 数组a,长度为n(索引为0至n-1)。现要求更新数组的各个元素,使新数组的第i个元素等于原数组中除第i个元素之外各元素之积
- 据说是腾讯的面试题:两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]...*a[N-1]/a[i];
- 两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]...*a[N-1]/a[i];
- 两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i];
- 两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i]
- 完美算法 --将一个具有n个元素的数组向左循环移动i个位置
- N个元素的有序数组A,判断是否有 A[i]=i 存在
- httpclient(Get方法)
- label字体加粗
- Angular2图标选择器——jQuery asIconPicker
- 如何定义类总结
- [Motion]MPU9250的Motion Driver
- 长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数的交换.将数组中的元素按对应位置放置使得a[i]=i
- java日志框架学习
- Largest Submatrix of All 1’s POJ
- unity基本知识点2
- 转载_cygwin和mingw的区别
- 《Dual Path Networks》笔记
- windows环境下通过c++使用redis
- 数据结构包括哪些?哪些是重点?哪些必须掌握?掌握了哪些算是合格?
- Xcode 控制台打印中文被unicode编码