PAT乙级刷题/1060 爱丁顿数/C++实现
2021/12/12 17:16:47
本文主要是介绍PAT乙级刷题/1060 爱丁顿数/C++实现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、题目描述
英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数” E ,即满足有 E 天骑车超过 E 英里的最大整数 E。据说爱丁顿自己的 E 等于87。
现给定某人 N 天的骑车距离,请你算出对应的爱丁顿数 E(≤N)。
输入格式:
输入第一行给出一个正整数 N (≤105),即连续骑车的天数;第二行给出 N 个非负整数,代表每天的骑车距离。
输出格式:
在一行中给出 N 天的爱丁顿数。
输入样例:
10 6 7 6 9 3 10 8 2 7 8 结尾无空行
输出样例:
6
二、题解代码以及提交截图
第一次提交代码、截图以及思路:
#include <iostream> #include <vector> #include <algorithm> int main() { int N,num,count = 0; std::cin >> N; std::vector<int> list,list1; for(int i = 0;i < N;i++){ std::cin >> num; list.push_back(num); } sort(list.begin(),list.end()); for(int i = 0;i < list.size();i++){ for(int j = i + 1;j < list.size();j++){ if(list[j] > list[i]){ count++; } } if(count >= list[i]){ list1.push_back(list[i]); } count = 0; } sort(list1.begin(),list1.end()); std::cout << list1[list1.size() - 1]; }
思路:
存在动态数组list,利用sort函数排序,利用for循环遍历,把符合题意的数字存在动态数组list1中,输出最大值即可。
发现出现错误、超时了
读题后,发现自己思路有问题,认为数字就是从给定的数组里找出的,因此整个代码的思路就是错误的
第二次提交代码以及截图:
#include <iostream> #include <vector> int main() { int N,num; std::cin >> N; std::vector<int> list; for(int i = 0;i < N;i++) { std::cin >> num; list.push_back(num); } int M; for(int k = 0;k <= N;k++) { int count = 0; for(int l = 0;l < N;l++) { if(list[l] > k) { count++; } } if(count >= k) M = k; } std::cout << M; return 0 ; }
思路还是第一次类似,只不过不从0-N开始找符合题意的数字
但出现超时问题了
三、总结学习
CSDN大神的优秀代码
#include <iostream> #include <algorithm> using namespace std; int a[1000000]; bool cmp1(int a, int b) { return a > b; } int main() { int n; scanf("%d", &n); for(int i = 1; i <= n; i++) scanf("%d", &a[i]); sort(a+1, a+n+1, cmp1); int ans = 0, p = 1; while(ans <= n && a[p] > p) { ans++; p++; } printf("%d", ans); return 0; }
思路:
1.逆序排序数组
2.使用ans 和p两个变量进入while循环进行判断,跳出循环后直接输出
总结:
读题很重要!
虽然没能全部通过测试用例,但学到了别人优秀的代码,收获还是很大的
这篇关于PAT乙级刷题/1060 爱丁顿数/C++实现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24CAP:Serverless?+AI?让应用开发更简单
- 2024-12-23新能源车企如何通过CRM工具优化客户关系管理,增强客户忠诚度与品牌影响力
- 2024-12-23原创tauri2.1+vite6.0+rust+arco客户端os平台系统|tauri2+rust桌面os管理
- 2024-12-23DevExpress 怎么实现右键菜单(Context Menu)显示中文?-icode9专业技术文章分享
- 2024-12-22怎么通过控制台去看我的页面渲染的内容在哪个文件中呢-icode9专业技术文章分享
- 2024-12-22el-tabs 组件只被引用了一次,但有时会渲染两次是什么原因?-icode9专业技术文章分享
- 2024-12-22wordpress有哪些好的安全插件?-icode9专业技术文章分享
- 2024-12-22wordpress如何查看系统有哪些cron任务?-icode9专业技术文章分享
- 2024-12-21Svg Sprite Icon教程:轻松入门与应用指南
- 2024-12-20Excel数据导出实战:新手必学的简单教程