面试--输入一堆随机数(0-1000),这里面会有重复的数字,把他们去除掉。然后由大到小排列。
生活随笔
收集整理的这篇文章主要介绍了
面试--输入一堆随机数(0-1000),这里面会有重复的数字,把他们去除掉。然后由大到小排列。
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1.问题说明
11 10 20 40 32 67 40 20 89 300 400 15 10 15 20//只显示1次 32 40//只显示1次 67 89 300 400正常的算法:
1.遍历所有数组,去除掉重复的数字
2.使用XX排序法,进行数字的排序。
眼前一亮的机器算法
1.生成1-1000的数组,全部给0
2.输入,或生成随机数,将随机数的数字所对应的数组值置1
输入数字 15,则a[15] = 1;
3.遍历所有数组,如果a[i]>0,则输出i。
扩展
int main() {int arr[100], sum = 0;char c;int x = 4;while (x--){cin >> c;arr[c] = 1;}for (int i = 0; i < 100; i++)if (arr[i] == 1)sum++;cout << sum;system("pause"); }总结
以上是生活随笔为你收集整理的面试--输入一堆随机数(0-1000),这里面会有重复的数字,把他们去除掉。然后由大到小排列。的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 成都大熊猫繁育研究基地儿童要买票吗
- 下一篇: 一道面试题--两个int(32位)整数m