输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
2016-10-26 17:33
330 查看
// ConsoleApplication2.cpp : 定义控制台应用程序的入口点。
//
//
#include "stdafx.h" #include "stdafx.h" #include<iostream> #include<vector> #include<algorithm> #include<numeric> #include<list> #include<iterator> #include<queue> #include<stack> #include<algorithm> #include<forward_list> using namespace std; class Solution { public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { sort(input.begin(),input.end()); vector<int> vec; if (k > input.size()) return vec; auto it = input.begin(); for (int i = 0; i < k;i++) { if (it == input.end()) break; vec.push_back(*it); ++it; } return vec; } }; int main() { Solution so; vector<int> input = { 4,5,1,6,2,7,3,8 }; vector<int> result = so.GetLeastNumbers_Solution(input,4); for (auto it = result.begin(); it != result.end(); ++it) cout << *it << " "; cout << endl; return 0; } 注意:此处主要考察的是排序,我直接调用系统的sort方法进行排序。 要多看堆排序、快排、冒泡等排序算法及其复杂度
相关文章推荐
- 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
- 用堆实现最小的K个数的查找:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
- 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
- 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
- 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
- 输入n个整数,输出其中最小的k个。 例如输入1,2,3,4,5,6,7和8这8个数字, 则最小的4个数字为1,2,3和4
- 查找最小的k个元素 输入n个整数,输出其中最小的k个。 例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4
- 查找最小的k个元素(笔试题) 输入n个整数,输出其中最小的k个。 例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4
- 题目:输入N个整数,找出其中最小的k个整数。例如输入 4,5,1,6,2,7,3,8,输入k=4,则输出最小的四个数是1,2,3,4 算法分析: 算法1.O(n)的算法,修改输入的数组 可以基于get
- 18. 编写函数:输入4个整数,找出其中最小的数。用函数的嵌套调用来处理。
- 输入一批整数,输出其中的最大值和最小值,输出数字0时结束
- java实现输入n个整数,找出其中最小的K个数
- 输入n个整数,找出其中最小的K个数。——冒泡排序实现方法
- 输入4个整数,找出其中最大的数,用一个函数来实现.cpp
- C语言:键盘输入4个整数,找出其中最大值。
- Problem Description 输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。 Input 输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。 Output 对于每组
- 从键盘上连续录入一批整数,比较并输出其中的最大值和最小值,当输入数字0时结束循环
- C语言:编这样一个程序,用户输入10个整数,程序找出其中的最大值和最小值
- 编这样一个程序,用户输入10个整数,程序找出其中的最大值和最小值
- 1、 输入一串字符,只包含“0-10”和“,”找出其中最小的数字和最大的数字(可能不止一个),输出最后剩余数字个数。