P1138 第 k 小整数
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 小整数的更多相关文章
- 洛谷P1138 第k小整数
我偏不用sort Treap好题啊 看到只有一个人写Treap,而且写的不清楚,那我就来详细地写一下,方便新人学习 第(-1)部分:前置知识 二叉查找树:满足左子树的数据都比根节点小,右子树的数据都比 ...
- 洛谷 P1138 第k小整数
题目描述 现有n个正整数,n≤10000,要求出这n个正整数中的第k个最小整数(相同大小的整数只计算一次),k≤1000,正整数均小于30000. 输入输出格式 输入格式: 第一行为n和k; 第二行开 ...
- 洛谷【P1138】第k小整数
题目传送门:https://www.luogu.org/problemnew/show/P1138 桶排: 对于值域在可以接受的范围内时,我们可以用不依赖比较的桶排去将数据排序.因为桶排不依赖比较排序 ...
- 洛谷题解 P1138 【第k小整数】
蒟蒻发题解了 说明:此题我用的方法为桶排(我翻了翻有人用了桶排只不过很难看出来,可能有些重复的,这个题只是作为一个专门的桶排来讲解吧) (不会算抄袭吧 ‘QWaWQ’) 简单来说(会的人跳过就行): ...
- 第k小整数
题目描述: 现有n个正整数,n≤10000,要求出这n个正整数中的第k个最小整数(相同大小的整数只计算一次),k≤1000,正整数均小于30000. 输入: 第一行为n和k,第二行开始为n个正整数的值 ...
- 【9204】第k小整数
Time Limit: 10 second Memory Limit: 2 MB 问题描述 现有n个整数,n≤10000,要求出这n个正整数中的第k个最小整数(相同大小的整数只计算一次),k≤1000 ...
- 第k小整数(树状数组)
洛谷传送门 入门难度.. 没错,但是我并不是要暴力做. 而是用树状数组来做. 先离散化,然后随便搞一搞就可以了.(晕.比暴力还慢) 如果要查找某一区间的的话可以把区间取出重新建树,然后再求.(更暴力) ...
- HDOJ 2561. 第二小整数 第k大问题
第二小整数 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- 数组中第K小的数字(Google面试题)
http://ac.jobdu.com/problem.php?pid=1534 题目1534:数组中第K小的数字 时间限制:2 秒 内存限制:128 兆 特殊判题:否 提交:1120 解决:208 ...
- ACM学习之路————一个大整数与一个小整数不得不说得的秘密
这个相对于两个大整数的运算来说,只能说是,low爆了. 只要利用好除法的性质,这类题便迎刃而解.O(∩_∩)O哈哈~ //大整数除一个int数 #include<iostream> #in ...
随机推荐
- Redis 实战(一)AOF 持久化配置和数据恢复
真枪实弹:AOF 持久化配置和数据恢复 大家好,我是悟空呀. 如果你曾经背过 RDB 和 AOF 的面试八股文,那么对 AOF 肯定不陌生,但如果只停留在应付面试阶段,对于提高自己的技术是远远不够的, ...
- C#中延迟初始化实现原理的一点浅见。
定义 延迟初始化:一个对象的延迟初始化意味着它的创建被推迟到它第一次使用.(对于本主题,延迟初始化和延迟实例化是同义词.)延迟初始化主要用于提高性能.避免浪费计算和减少程序内存需求. 用法及简单介绍 ...
- Vue + Element table中的某行触发enter事件后,使该行disabled
废话不罗嗦,上硬菜. 1.html下: <el-table-column label="名称" sortable> <template slot-scope=&q ...
- #0延时与for循环+fork join_none
参考资料 (1) https://blog.csdn.net/moon9999/article/details/104207565 1.for循环+fork...join_none 注1: for循环 ...
- django日志集成输出器
在配置文件中 import os # ⽇志 LOGGING = { 'version': 1, # 自定义一个简单版本 'disable_existing_loggers': False, # 是否禁 ...
- 从零搭建hadoop集群之安装虚拟机
1. 打开 VMware 2. 点击编辑 -> 虚拟网络编辑器 点击VMnet8 选中NAT模式(于虚拟机共享主机的ip地址) 设置子网IP 点击NAT设置 3. 设置网关 :和子网IP ...
- 智能风控:python金融风险管理与评分卡建模
Ch1 互联网金融的申请过程,通常由用户从移动端发起,首次贷款用户会经理申请.四要素验证.授信与额度利率定价.多层审批.用户提款等多个环节:对于还款后再次贷款的复贷客户,平台通常会基于更好的信用评估结 ...
- android studio 导出 release aar
- java资源精华
1. java基础教程虚拟机性能分析和故障解决工具_哔哩哔哩_bilibili 2.https://www.bilibili.com/video/BV1Eb4y1v7mB/?p=2&vd_so ...
- 好用的天气插件www.tianqi.com/plugin/
1.好用的天气插件https://www.tianqi.com/plugin/ 根据访问IP地址可以判断当地的天气,生成天气预报信息放到页面上. 2.天气预报接口: import requests U ...