- 博客(32)
- 收藏
- 关注

原创 PAT乙级真题及思路详解
PS:一直有一个把做过的题目汇总记录的想法,一方面以作收藏纪念,一方面是记录自己构思过的算法思想(虽然大多数都是采用暴力法,但随着不断学习进步会慢慢把更好的思路收集并更新~),会把思想尽可能描述详尽,以帮助像我当初入门一样懵懂的小白。
2023-12-22 15:23:30
474
原创 1036 跟奥巴马一起编程 (15)
美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014 年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!
2024-02-16 12:21:56
397
原创 1033 旧键盘打字 (20)(测试点2)
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?
2024-01-28 15:38:15
514
原创 1032 挖掘机技术哪家强 (20)
为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。
2024-01-27 13:28:46
401
原创 1031 查验身份证 (15)
一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。
2024-01-26 14:30:33
402
原创 1030 完美数列 (20)(测试点4,5)
给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M≤mp,则称这个数列是完美数列。现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数N和p,其中N(≤105)是输入的正整数的个数,p(≤109)是给定的参数。第二行给出N个正整数,每个数不超过109。
2024-01-24 15:45:06
696
原创 1029 旧键盘 (20)
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。
2024-01-23 15:00:36
374
原创 1028 人口普查分数 (测试点3 20分)
接着我们就进入主函数,首先就是输入了,然后我们用if...else来判断生日在1814.9.6~2014.9.6这些符合条件的人数,将这些人数放在vector容器中,在for循环之后,我们利用sort函数进行排序,最后就是输出了。(注意:我们要判断符合条件的人数为0的情况(如果没有判断,测试点三会报格式错误,因为人数后面不能有空格。),如果符合条件的人数不是0那我们的count的人数其实是实际符合条件+1,所以我们输出最年轻的人时候要count-1)
2024-01-22 16:38:37
410
原创 1027 打印沙漏 (20)
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。
2024-01-21 15:14:04
441
原创 1026 程序运行时间 (15)
要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数f的运行时间,我们只要在调用f之前先调用 clock(),获得一个时钟打点数 C1;在f执行完成后再调用 clock(),获得另一个时钟打点数 C2;两次获得的时钟打点数之差 (C2-
2024-01-19 16:07:36
422
原创 1025 反转链表 (25)(测试点1,测试点2,测试点5,测试点6)
给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为 1→2→3→4→5→6,K为 3,则输出应该为 3→2→1→6→5→4;如果K为 4,则输出应该为 4→3→2→1→5→6,即最后不到K个元素不反转。输入格式:每个输入包含 1 个测试用例。每个测试用例第 1 行给出第 1 个结点的地址、结点总个数正整数N(≤105)、以及正整数K(≤N),即要求反转的子链结点的个数。结点的地址是 5 位非负整数,NULL 地址用−1表示。接
2024-01-17 16:46:10
1746
1
原创 1024 科学计数法 (20)
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9][0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留。
2024-01-12 16:28:38
1509
原创 1023 组个最小数 (20)
给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。
2024-01-10 14:43:22
1008
原创 1021 个位数统计 (15)
给定一个k位整数N=dk−110k−1+⋯+d1101+d0(0≤di≤9,i=0,⋯,k−1,dk−1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N=100311,则有 2 个 0,3 个 1,和 1 个 3。
2024-01-06 17:54:40
392
1
原创 1020 月饼 (25)
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2 = 94.5(亿元)。
2024-01-04 14:02:10
493
1
原创 1019 数字黑洞分数 (20)(测试点0,2讲解)
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫 Kaprekar 常数。
2024-01-02 16:01:36
989
原创 1018 锤子剪刀布 (20)
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。
2023-12-29 13:37:31
912
1
原创 1017 A除以B (20)
本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。
2023-12-28 14:29:53
408
1
原创 1016 部分A+B (15)
正整数 A 的“DA(为 1 位整数)部分”定义为由 A 中所有 DA 组成的新整数 PA。例如:给定 A=3862767,DA=6,则 A 的“6 部分”PA 是 66,因为 A 中有 2 个 6。现给定 A、DA、B、DB,请编写程序计算 PA+PB。
2023-12-27 12:27:12
402
1
原创 1015 德才论 (25)
1015 德才论 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”
2023-12-26 20:35:55
1424
1
原创 1014 福尔摩斯的约会 (20)
1014 福尔摩斯的约会 (分数 20)大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母D,代表星期四;第 2 对相同的字符是E,那是第 5 个英文字母,代表一天里的第 14 个钟头(于是一天的 0 点到 23 点由数字 0 到 9、以及大写字母A到N表示);后面两字符串第 1 对相同的英文字母s出现在第 4 个位置(从 0 开始计数)上,代表第 4 分钟。
2023-12-25 13:41:27
867
原创 1012 数字分类
所以我将最后判断是不是N时将判断条件从:sum1==0,sum2==0,num3==0等改成count1==0,count2==0等,这样就可以通过全部测试用例了。但是做完后我发现总是最后一个测试用例不通过,然后根据分析我才发现因为A2可能交叉和为0,所以应该输出0,而不是N;
2023-12-22 16:42:54
427
原创 704.二分查找
二分查找的本质就是在一个left和right中间取一个mid值,比较目标值和对应的mid值的大小,如果mid对应的值比目标值大,那我们就可以确认在mid右边是没有目标值的,那么我们就可以将right移动到mid-1的位置,然后在进行二分查找。如果mid对应的值比目标值小,那我们就可以确认在mid左边是没有目标值的,那么我们就可以将left移动到mid+1的位置,然后在进行二分查找。如果nums[mid] < target那我们就将left的位置移动到mid+1的位置,继续进行while循环来二分查找。
2023-11-16 19:28:18
64
1
原创 34. 在排序数组中查找元素的第一个和最后一个位置
我们要记住,这个函数的目的是找出目标值的下界,所以,我们需要让right去和left重合所以这里的判断语句就应该是nums[mid]>=target,如果大于,也就是说目标值在mid的左边,所以就移动right到mid-1的位置然后进行后续的二分查找。nums[mid]=target时,我们就仍然向左,也就是移动right,让最好left和right重合的位置正好在下界那里,然后mid就正好在下界,那么。nums[mid]=target时我们舍弃左边的,也就是移动left去和上届重合就行。
2023-11-10 13:45:46
76
1
原创 用户新增挑战赛提分总结!
在这次项目中,我运用了一些特征工程技巧来改进模型性能。首先,我对特征"eid"进行了目标编码,这样可以更好地捕捉不同类别之间的相关性。另外,我还对时间特征进行了细致的划分,包括天、小时和分钟,以便模型能够更好地捕捉时间的变化模式和周期性。在模型选择方面,我最初尝试了决策树模型,但提升并不显著。于是,我转变了思路,选择了LightGBM模型。在测试集上,LightGBM模型表现更好,达到了0.81的F1分数,这让我非常满意。
2023-08-25 23:00:55
177
1
原创 用户新增预测挑战赛(二)
在之前的阶段,我主要通过参考赛题组提供的基准代码,简单地复现了一遍,并没有对结果进行优化。然而,在接下来的学习过程中,我学到了几种优化方法。因此,我计划从这三种优化方法入手,对题目进行深入分析并进行优化。首先,我会仔细研究赛题的特点和要求,了解数据的结构和特征。然后,我会尝试使用特征工程的方法,对原始数据进行处理和转换,以提取更有用的特征。这可能涉及到数据清洗、特征选择、特征组合等技术手段,从而提升模型的性能和泛化能力。其次,我会探索不同的机器学习算法和模型。
2023-08-23 22:37:30
84
1
原创 DataWhale-----用户新增预测挑战赛(一)
赛题链接F1分数(F1 Score),是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的精确率和召回率。F1分数可以看作是模型精确率和召回率的一种调和平均,它的最大值是1,最小值是0。
2023-08-18 21:42:25
187
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人