对于非负整数0,1,2,....n-1,随机放入一个大小为n的一维数组中,调整元素顺序,辅助空间为O(1)
来源:互联网 发布:three.js 实现宇宙 编辑:程序博客网 时间:2024/05/19 19:57
题目:
对于非负整数0,1,2,....n-1,随机放入一个大小为n的一维数组中,请用时间复杂度为O(n)的算法,把他们调整为0,1,2,3,....n-1的顺序,辅助空间为O(1),只允许用交换操作,一次只能交换两个元素位置
Code(C):
#include<stdio.h>#include<stdlib.h>void change(int *a,int len);void main(){int a[] = {10,6,9,5,2,8,4,7,1,3};int len = sizeof(a)/sizeof(int);int i;for(i = 0;i < len;i++)printf("%d ",a[i]);printf("\n");printf("交换后的结果为\n");change(a,len);for(i = 0;i < len;i++)printf("%d ",a[i]);printf("\n");}void change(int *a,int len){int i,temp;for(i = 0;i < len;){temp = a[i];a[i] = a[temp-1];a[temp-1] = temp;if(a[i] == i+1)i++;}}
- 对于非负整数0,1,2,....n-1,随机放入一个大小为n的一维数组中,调整元素顺序,辅助空间为O(1)
- 有序整型数组A,大小为n,请给出一个O(n)的算法,删除重复元素,O(1)空间
- 将数组排序,数组中所有的负整数出现在正整数前面(时间复杂度为 O(n), 空间复杂度为 O(1)).
- 一个大小为n的数组,里面的数都属于范围[0, n-1],有不确定的重复元素,找到至少一个重复元素,要求O(1)空间和O(n)时间。
- 谷歌面试题--一个大小为n的数组,里面的数都属于范围[0, n-1],有不确定的重复元素,找到至少一个重复元素,要求O(1)空间和O(n)时间
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)。
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。要求:空间复杂度O(1),时间复杂度为O(n)
- 数据结构之 删除顺序表中所有元素为X 的元素,要求时间复杂度为O(n),空间复杂度为O(1)
- 取值为[1,n-1] 含n 个元素的整数数组至少存在一个重复数,O(n) 时间内找出其中任意一个重复数
- 去除数组维数n,元素为1--n的任意整数的重复整数
- 用JAVA实现:非递归算法在O(n)时间内将一个含有n个元素的单链表逆置,要求其辅助空间为常量
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 长度为n的顺序表L,编写一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法删除线性表中所有值为X的元素
- 一个数组中只有0,1,2三个元素,进行排序,要求时间复杂度为O(n)
- 如何在时间复杂度为O(n),空间复杂度为O(1)的条件下,统计数组中不同元素出现的次数
- 《数据结构》2.10设计一个算法,删除顺序表中值为item的元素,要求算法的时间复杂度是O(n),空间复杂度是O(1)
- Open Source on Github: Your First Contribution
- Python排序算法-冒泡排序
- php如何安装PECL
- 获取当前设备语言
- struts的ajax请求
- 对于非负整数0,1,2,....n-1,随机放入一个大小为n的一维数组中,调整元素顺序,辅助空间为O(1)
- 百度 求矩形的个数
- Python学习笔记【1】
- Matlab 关于plot设置(暴力版)
- 查看Oracle当前用户下的信息(用户,表视图,索引,表空间,同义词,存储过程函数,约束条件)自_baidu
- netstat -nat | awk '/^tcp/{++S[$NF]}END{for (a in s) print a,S[a]}'详解
- C++编译器如何处理静态成员
- MySQLdb for Python使用指南/Python的数据库操作
- (一)android升级--升级包的制作