P1138 第 k 小整数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

dalao 勿喷,适合新手

思路就是排序加查重,最后判断第k小数。思路十分简单。

刚开始我一直想二维循环查重

错误代码:

#include<iostream>
#include<algorithm>
using namespace std;
int a[1000005],n,k;
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++)
cin>>a[i];
int f=k;
sort(a,a+n);
/*
for(int i=1;i<=n;i++) {
cout<<a[i]<<" ";
if(i==n){
cout<<endl;
}
}
*/
for(int i=1;i<=f;i++){
for(int j=i+1;j<=n;j++){
if(a[i]==a[j]){
f++;//cout<<i<<" "<<j<<" "<<f<<endl; 不进行查重,有重复次数,直接累加循环次数
} else break;
}
if(i==f){
cout<<a[i];
return 0;
} }
cout<<"NO RESULT";
return 0;
}

也不知道错哪,样例对了,自己造的数也对了,但只得20分。

后来改变了思路,直接用大于号这样就不用查重了

代码如下:

#include<iostream>
#include<cstdlib>
#include<algorithm>
using namespace std;
int i,n,k,f;
int a[10010];
int main(){
cin>>n>>k;
for(i=1;i<=n;i++){
cin>>a[i]; //输入n个数
}
sort(a+1,a+n+1);
for(i=1;i<=n;i++){
if(a[i]>a[i-1]){ //判断k第几小
k--;
f=i;
}
if(k<=0) break; //条件break
}
if(k==0) cout<<a[f]<<endl;
else cout<<"NO RESULT"<<endl; //判断,如果已经循环完了但是还没有找到第k小的,就输出NO RESULT
return 0;
}

祝大家RT++;

P1138 第 k 小整数的更多相关文章

  1. 洛谷P1138 第k小整数

    我偏不用sort Treap好题啊 看到只有一个人写Treap,而且写的不清楚,那我就来详细地写一下,方便新人学习 第(-1)部分:前置知识 二叉查找树:满足左子树的数据都比根节点小,右子树的数据都比 ...

  2. 洛谷 P1138 第k小整数

    题目描述 现有n个正整数,n≤10000,要求出这n个正整数中的第k个最小整数(相同大小的整数只计算一次),k≤1000,正整数均小于30000. 输入输出格式 输入格式: 第一行为n和k; 第二行开 ...

  3. 洛谷【P1138】第k小整数

    题目传送门:https://www.luogu.org/problemnew/show/P1138 桶排: 对于值域在可以接受的范围内时,我们可以用不依赖比较的桶排去将数据排序.因为桶排不依赖比较排序 ...

  4. 洛谷题解 P1138 【第k小整数】

    蒟蒻发题解了 说明:此题我用的方法为桶排(我翻了翻有人用了桶排只不过很难看出来,可能有些重复的,这个题只是作为一个专门的桶排来讲解吧) (不会算抄袭吧 ‘QWaWQ’) 简单来说(会的人跳过就行): ...

  5. 第k小整数

    题目描述: 现有n个正整数,n≤10000,要求出这n个正整数中的第k个最小整数(相同大小的整数只计算一次),k≤1000,正整数均小于30000. 输入: 第一行为n和k,第二行开始为n个正整数的值 ...

  6. 【9204】第k小整数

    Time Limit: 10 second Memory Limit: 2 MB 问题描述 现有n个整数,n≤10000,要求出这n个正整数中的第k个最小整数(相同大小的整数只计算一次),k≤1000 ...

  7. 第k小整数(树状数组)

    洛谷传送门 入门难度.. 没错,但是我并不是要暴力做. 而是用树状数组来做. 先离散化,然后随便搞一搞就可以了.(晕.比暴力还慢) 如果要查找某一区间的的话可以把区间取出重新建树,然后再求.(更暴力) ...

  8. HDOJ 2561. 第二小整数 第k大问题

    第二小整数 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  9. 数组中第K小的数字(Google面试题)

    http://ac.jobdu.com/problem.php?pid=1534 题目1534:数组中第K小的数字 时间限制:2 秒 内存限制:128 兆 特殊判题:否 提交:1120 解决:208 ...

  10. ACM学习之路————一个大整数与一个小整数不得不说得的秘密

    这个相对于两个大整数的运算来说,只能说是,low爆了. 只要利用好除法的性质,这类题便迎刃而解.O(∩_∩)O哈哈~ //大整数除一个int数 #include<iostream> #in ...

随机推荐

  1. 解决linux系统中对两个不同的网络连接http访问

    项目5G 问题背景:调用网络端的服务器服务,对本地机器人进行控制,以实现机器人应执行的任务. 需求:主机需要访问外网的API,同时在本地局域网与机器人的API进行通信. 问题:要解决HTTP请求发送到 ...

  2. C#判断窗体是否打开,并获取聚焦、未打开则新建一个子窗体

    在桌面程序开发会遇到的情况,托盘功能或者是小功能弹窗问题: 现有一个主窗体有子窗体 子窗体每个都可以新建其他窗体问题:新建子窗体时怎么判断子窗体是否打开?若子窗体打开则置顶获取焦点.若未打开则新建一个 ...

  3. uniapp 弹窗输入

    借鉴链接:https://blog.csdn.net/qq_40894259/article/details/110200721 <template> <view class=&qu ...

  4. vue使用websoket

    参考链接:https://www.cnblogs.com/qisi007/p/10213886.html export default { name: "realdetail", ...

  5. 论文笔记:Access Path Selection In A Relational Database Management System

    论文笔记:Access Path Selection In A Relation Database Management System 这篇文章是 1979 年由 IBM 发表的.主要介绍了 Syst ...

  6. Qt 串口相关配置

    QSerialPort M_serialPort; QSerialPortInfo M_SerialPortInfo; void MainWindow::on_M_portNumComboBox_cu ...

  7. 更改材质uv

  8. EF Core如何到回滚上一次迁移

    update-database 上上次迁移记录 让数据库回滚 remove-migration 删除本次有误的迁移文件 修改完毕后 add-migration updata-database 完成

  9. git常用命令与AndroidStudio常用快捷键

    git相关内容: 产生密钥:cd ~/.ssh (C:\Users\账户名称\.ssh)生成密钥:ssh-keygen -t rsa -C "your_email@youremail.com ...

  10. 【ZYNQ学习】各个主题的值得看的博客

    在学习ZYNQ时会遇到不少问题,这时我们一方面要在DocNav找Xilinx的官方文档,另一方面要参考别人的一些记录的解决好的办法,我在学习的时候看到了不少大佬的博客,给我带来了很大帮助.在这篇博客, ...