输入n个整数,输出其中最小的k个 https://www.nowcoder.com/practice/69ef2267aafd4d52b250a272fd27052c#include <cstdio> #include <functional> #include <iostream> #include <queue> #include <string> #include <vector> using namespace std; int main() { int n, k; cin >> n >> k; getchar...
分析:这道题最简单的思路莫过于把输入的n个整数排序,这样排在最前面的k个数就是最小的k个数。只是这种思路的时间复杂度为O(nlogn)。我们试着寻找更快的解决思路。 我们可以先创建一个大小为k的数据容器来存储最小的k个数字。接下来我们每次从输入的n个整数中读入一个数。如果容器中已有的数字少于k个,则...
输入n个整数,找出其中最小的k个整数并按升序输出 本题有多组输入样例。题目来自【牛客题霸】
首先定义了输出数组的第k个数需要的数组是排好序的,因此采用冒泡排序算法排序后输出,在遍历数组的时候采用了两次for循环,给出数组的顺序排列,所以时间复杂度为O(n^2),然后输出为一个数组,因此空间复杂度也为O(1) 小结 本题主要思路是首先快速排序,可以采用插入排序,快速排序,或者堆排序,在利用C语言来编写排序算...
输入n个整数,输出其中最小的k个 https://www.nowcoder.com/practice/69ef2267aafd4d52b250a272fd27052c#include<stdio.h> int func(int num[], int k, int n); int main(void) { int num[1000]; int n, k; scanf("%d %d",&n,&k); for (int i = 0; i < n; i++) { scanf("%d",...
输入n个整数,输出其中最小的k个。 详细描述: 接口说明 原型: bool GetMinK(unsignedint uiInputNum, int * pInputArray, unsignedint uiK, int * pOutputArray); 输入参数: unsignedint uiInputNum //输入整数个数 int * pInputArray //输入整数数组 unsignedint uiK //需输出uiK个整数 输出参数(指针指向的...
http://www.nowcoder.com/practice/69ef2267aafd4d52b250a272fd27052c HJ58 输入n个整数,输出其中最小的k个 思路: step1:首先输入n,k这两个参数(因为input()后是字符串类型,所以需要将n,k转换为int类型,这时我们需要使用list(map())函数); step2:其次,输入一个整数数组num(原理同上,也需要转换为int型,同...
[华为]输入n个整数,输出其中最小的k个 链接:https://www.nowcoder.com/questionTerminal/69ef2267aafd4d52b250a272fd27052c 来源:牛客网 输入n个整数,输出其中最小的k个。 详细描述: 接口说明 原型: bool GetMinK(unsignedint uiInputNum, int * pInputArray, unsignedint uiK, int * pOutputArray);...
1、首先需要定义一个Max最小值变量。2、然后把首地址的值赋予最小值。3、接下来就可以开始进行便利查找。4、如果有个数大于最大值便可以自动替换。5、然后就可以把最小值进行输出。6、然后进行运行后,就可以看到屏幕上显示最小值。
int n,i,t,w,j[102],k; while(scanf("%d",&n)!=EOF) { if(n==0)break; for(i=0;i<n;i++) scanf("%d",&j[i]); w=j[0]; for(i=0;i<n;i++) { if(j[i]<=w) k=i; w=j[k]; } if(w!=j[0]) {t=j[k];j[k]=j[0];j[0]=t;} ...