微软面试100道之 5 查找最小的k个元素(数组)
来源:互联网 发布:旅游业发达的国家知乎 编辑:程序博客网 时间:2024/04/30 06:42
5.查找最小的k个元素(数组)
题目:输入n个整数,输出其中最小的k个。
例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。
#include <iostream>
using namespace std;
int main() {
int a[]={10,6,3,9,15,12,7,5,8,9,45,12,3,2,45,78,1};
int k;
cout<<"输入k"<<endl;
cin>>k;
int b[50];
for(int i=0; i<k; i++) {
b[i] = a[i];
}
for(int l=0;l<k;l++) {//只可惜数组不能被引用
for(int j=0; j<k-1; j++) {
if(b[j]<=b[j+1]) {
int t;
t = b[j];
b[j] = b[j+1];
b[j+1] = t;
}
}
}
for(int m=k; m<(sizeof(a)/sizeof(a[0])); m++) {//有一件非常麻烦的事就是如何获得数组中元素的个数
if(a[m]<b[0]) {
b[0] = a[m];
for(int l=0;l<k;l++) {
for(int j=0; j<k-1; j++) {
if(b[j]<=b[j+1]) {
int t;
t = b[j];
b[j] = b[j+1];
b[j+1] = t;
}//可能用二分法排序会比较好
}
}
}
}
for(int y=0; y<k; y++) {
cout<<b[y]<<" ";
}
}
- 微软面试100道之 5 查找最小的k个元素(数组)
- 微软面试100题目之5 查找最小的k个元素
- (微软面试100题)查找最小的K个元素
- 微软等数据结构+算法面试100题(46)-- 查找最小的k 个元素
- 微软试题:查找数组中最小的k个元素
- 【从零单排之微软面试100题系列】05之查找最小的k个元素
- 查找最小的k个元素 【微软面试100题 第五题】
- 微软100题(5) 查找最小的k个元素
- 微软算法100道题-----查找最小的k个元素
- 5. 微软面试题: 查找最小的k个元素(数组)
- 查找最小的k个元素(数组)
- 面试100题:5.查找最小的k个元素
- 面试100题:5.查找最小的k个元素
- 5.查找最小的k个元素(数组)
- No5、查找最小的 k 个元素(数组)
- 5.查找最小的k个元素(数组)
- 查找最小的k个元素(数组)
- 微软,Google面试题 (5) —— 查找最小的k个元素
- 单链表
- Python正则表达式中文手册
- Windows下编译PBC库
- 泛泰手机SK版本系统注意事项(未完待续)
- Failed to import Gradle project完美解决方案
- 微软面试100道之 5 查找最小的k个元素(数组)
- Javase 2.java技术分类及版本,java虚拟机
- 我的第一天博客
- 【Kinect for Windows SDK MSDN文档翻译】之二
- ___THE FIRST
- LayoutInflate的使用
- Android 二维码 生成和识别(附Demo源码)
- StringBuffer和StringBuilder的区别
- oracle概述