面试题-华为-数组去重与排序-2
来源:互联网 发布:神话打电话软件 编辑:程序博客网 时间:2024/05/18 03:33
面试题-华为-数组去重与排序-2
华为的面试题比想象中简单,可能是没有遇到更复杂的题目,没有涉及数据结构与算法(o(╯□╰)o)。数组的去重可以使用python的set集实现,但是由于本人python不熟,最后还是选择使用C++实现。
该面试编程题来自于牛客网,本人分享在此仅供大家学习与交流用,不担负任何法律责任。博客版权归博主所有,转载需注明出处。
问题描述
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
Input Param
n 输入随机数的个数
inputArray n个随机整数组成的数组
Return Value
OutputArray 输出处理后的随机整数注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。
输入描述:
输入多行,先输入随机整数的个数,再输入相应个数的整数
输出描述:
返回多行,处理后的结果
输入例子:
11
10
20
40
32
67
40
20
89
300
400
15
输出例子:
10
15
20
32
40
67
89
300
400
思考与解答
当时绞尽脑汁想注明使用C++进行去重,去重之后排序,后来简单百度一下,发现大家的方法大部分是先去排序后去重。排序后相同的两个元素会处于前后两位,输出的时候如果相等只输出一个即可,真是简单粗暴。下面是实验代码:
//C++实现#include <iostream>using namespace std;const int N = 1000;void bubble_sort(int *a,int num);int main(){ int num,a[N]; cin >> num; if(num > N) return 0; for(int i=0;i<num;i++) cin >> a[i]; //for(int i=0;i<num;i++) // cout << a[i] <<endl; //先排序,后剔除重复元素 bubble_sort(a,num); // for(int i=0;i<num;i++) // cout << a[i] <<endl; for(int i=0;i<num;i++) { //菜鸟水平,看官勿笑 if(a[i]==a[i+1]) { cout<<a[i]<<endl; i++; } else cout<<a[i]<<endl; } return 0;}//冒泡排序void bubble_sort(int *a,int num){ int i ,j,temp; for(j=0;j<num-1;j++) for(i=0;i<num-1-j;i++) { if(a[i]>a[i+1]) { temp = a[i]; a[i] = a[i+1]; a[i+1] = temp; } }}
上面提到如果使用python的set集可以在输入的时候直接去重,但是排序需要用到list,本人暂时对python不熟,所以没有话时间研究,有兴趣的同学可以试试。
2017年02月07日19:59:44
- 面试题-华为-数组去重与排序-2
- js面试题之数组去重和快速排序
- 【经典面试题】JavaScript数组去重
- 前端面试题之数组去重
- 数组去重与排序
- 面试题-华为(16年)-字符集合去重-5
- js数组去重与排序
- 数组的去重与排序
- JS的数组去重与排序
- JS 数组去重实现,一道面试题
- html之js数组去重(面试题)
- OC 面试常见面试题:去重,排序
- js数组重排序与数组去重
- 数组排序去重
- [JavaScript笔记] 数组去重 与 数组随机排序
- 整理数组去重与数组排序等方法
- 去重与排序
- “去重”与“排序”
- ContentProvider(内容提供者)与ContentResolver(内容访问者)
- POJ1426 Find The Multiple
- Cannot change version of project facet Dynamic Web Module to 2.4的原因和解决方法
- C语言------如何实现字符串数组和整形数组在终端上任意输
- HDU4001-To Miss Our Children Time
- 面试题-华为-数组去重与排序-2
- python中zip函数的使用方法
- URAL - 2080 Wallet 树状数组+last数组
- Android的休眠唤醒机制wake_lock机制
- HTML标签之链接标签
- 轻量级框架-EventBus
- C++异常处理
- 2月3号
- Spring Boot核心原理-自动配置