<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[MrHaddis的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/MrHaddis</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; MrHaddis]]></copyright><item><title><![CDATA[PAT 1030 完美数列 (25 分) C语言实现]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/115858605</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/115858605</guid><author>MrHaddis</author><pubDate>Mon, 19 Apr 2021 10:19:23 +0800</pubDate><description><![CDATA[#include &lt;stdio.h&gt;

//MrHaddis
//https://github.com/MrHaddis/PAT1030
int inputArray[100001];

int main() {
    int number;
    int p;
    int result = 0;
    scanf("%d %d", &amp;number, &amp;p);
    for (int i = 0; i &lt; number; ++i) {
        scanf]]></description><category></category></item><item><title><![CDATA[Android四大组件之Acitivity基础篇]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/115261749</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/115261749</guid><author>MrHaddis</author><pubDate>Mon, 29 Mar 2021 11:49:00 +0800</pubDate><description><![CDATA[本篇内容主要讲述Activity相关内容。

]]></description><category></category></item><item><title><![CDATA[2. 两数相加]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/115085232</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/115085232</guid><author>MrHaddis</author><pubDate>Thu, 25 Mar 2021 11:03:14 +0800</pubDate><description><![CDATA[给你两个 非空 的链表，表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的，并且每个节点只能存储 一位 数字。
请你将两个数相加，并以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外，这两个数都不会以 0 开头。
示例 1：

输入：l1 = [2,4,3], l2 = [5,6,4]
输出：[7,0,8]
解释：342 + 465 = 807.
示例 2：
输入：l1 = [0], l2 = [0]
输出：[0]
示例 3：
输入：l1 = [9,9,9,9,9,9,9], l2 =]]></description><category></category></item><item><title><![CDATA[1. 两数之和]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/115085109</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/115085109</guid><author>MrHaddis</author><pubDate>Mon, 22 Mar 2021 16:45:05 +0800</pubDate><description><![CDATA[给定一个整数数组 nums 和一个整数目标值 target，请你在该数组中找出 和为目标值 的那 两个 整数，并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是，数组中同一个元素不能使用两遍。
你可以按任意顺序返回答案。
示例 1：
输入：nums = [2,7,11,15], target = 9
输出：[0,1]
解释：因为 nums[0] + nums[1] == 9 ，返回 [0, 1] 。
示例 2：
输入：nums = [3,2,4], target = 6
输出：[1,2]
示例]]></description><category></category></item><item><title><![CDATA[Android知识梳理]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/114921882</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/114921882</guid><author>MrHaddis</author><pubDate>Wed, 17 Mar 2021 11:40:00 +0800</pubDate><description><![CDATA[梳理了一下Android中常用的一些开始技术，以及面试中会问到的一些知识点。

]]></description><category></category></item><item><title><![CDATA[PAT 1029 旧键盘 (20分) C语言实现]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/107375488</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/107375488</guid><author>MrHaddis</author><pubDate>Thu, 16 Jul 2020 09:10:27 +0800</pubDate><description><![CDATA[1029 旧键盘 (20分)
旧键盘上坏了几个键，于是在敲一段文字的时候，对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字，请你列出肯定坏掉的那些键。
输入格式：
输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串，由字母 A-Z（包括大、小写）、数字 0-9、以及下划线 _（代表空格）组成。题目保证 2 个字符串均非空。
输出格式：
按照发现顺序，在一行中输出坏掉的键。其中英文字母只输出大写，每个坏键只输出一次。题目保证至少有 1 个坏键]]></description><category></category></item><item><title><![CDATA[PAT 1028 人口普查 (20分) C语言实现]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/107362906</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/107362906</guid><author>MrHaddis</author><pubDate>Wed, 15 Jul 2020 15:54:37 +0800</pubDate><description><![CDATA[1028 人口普查 (20分)
某城镇进行人口普查，得到了全体居民的生日。现请你写个程序，找出镇上最年长和最年轻的人。
这里确保每个输入的日期都是合法的，但不一定是合理的——假设已知镇上没有超过 200 岁的老人，而今天是 2014 年 9 月 6 日，所以超过 200 岁的生日和未出生的生日都是不合理的，应该被过滤掉。
输入格式：
输入在第一行给出正整数 N，取值在(0,10的​5次方​​ ]；随后 N 行，每行给出 1 个人的姓名（由不超过 5 个英文字母组成的字符串）、以及按 yyyy/mm/dd（即]]></description><category></category></item><item><title><![CDATA[PAT 1027 打印沙漏 (20分) C语言实现]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/107353557</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/107353557</guid><author>MrHaddis</author><pubDate>Wed, 15 Jul 2020 10:01:08 +0800</pubDate><description><![CDATA[1027 打印沙漏 (20分)
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”，要求按下列格式打印







所谓“沙漏形状”，是指每行输出奇数个符号；各行符号中心对齐；相邻两行符号数差2；符号数先从大到小顺序递减到1，再从小到大顺序递增；首尾符号数相等。
给定任意N个符号，不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。
输入格式:
输入在一行给出1个正整数N（≤1000）和一个符号，中间以空格分隔。
输出格式:
首先打印出由给定符号组成的最大的沙漏形状，最后在一]]></description><category></category></item><item><title><![CDATA[PAT 1026 程序运行时间 (15分) C语言实现]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/107231235</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/107231235</guid><author>MrHaddis</author><pubDate>Thu, 09 Jul 2020 16:10:32 +0800</pubDate><description><![CDATA[1026 程序运行时间 (15分)
要获得一个 C 语言程序的运行时间，常用的方法是调用头文件 time.h，其中提供了 clock() 函数，可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick，即“时钟打点”。同时还有一个常数 CLK_TCK，给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数 f 的运行时间，我们只要在调用 f 之前先调用 clock()，获得一个时钟打点数 C1；在 f 执行完成后再调用 clock()，获得另一个时钟打点数 C2]]></description><category></category></item><item><title><![CDATA[PAT 1025 反转链表 (25分) C语言实现]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/107224379</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/107224379</guid><author>MrHaddis</author><pubDate>Thu, 09 Jul 2020 11:20:29 +0800</pubDate><description><![CDATA[1025 反转链表 (25分)
给定一个常数 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 (≤10
​5
​​ )、以及正整数 K (≤N)，即要求反转的子链结点的个数。结点的地址是 5 位非负整数]]></description><category></category></item><item><title><![CDATA[PAT 1024 科学计数法 (20分) C语言实现]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/107105763</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/107105763</guid><author>MrHaddis</author><pubDate>Fri, 03 Jul 2020 14:51:10 +0800</pubDate><description><![CDATA[1024 科学计数法 (20分)
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法，其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+，即数字的整数部分只有 1 位，小数部分至少有 1 位，该数字及其指数部分的正负号即使对正数也必定明确给出。
现以科学计数法的格式给出实数 A，请编写程序按普通数字表示法输出 A，并保证所有有效位都被保留。
输入格式：
每个输入包含 1 个测试用例，即一个以科学计数法表示的实数 A。该数字的存储长度不超过 9999 字节，且其指数的绝对值不超过 9]]></description><category></category></item><item><title><![CDATA[PAT 1023 组个最小数 (20分) C语言实现]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/107078591</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/107078591</guid><author>MrHaddis</author><pubDate>Thu, 02 Jul 2020 10:14:13 +0800</pubDate><description><![CDATA[1023 组个最小数 (20分)
给定数字 0-9 各若干个。你可以以任意顺序排列这些数字，但必须全部使用。目标是使得最后得到的数尽可能小（注意 0 不能做首位）。例如：给定两个 0，两个 1，三个 5，一个 8，我们得到的最小的数就是 10015558。
现给定数字，请编写程序输出能够组成的最小的数。
输入格式：
输入在一行中给出 10 个非负整数，顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50，且至少拥有 1 个非 0 的数字。
输出格式]]></description><category></category></item><item><title><![CDATA[PAT  1022 D进制的A+B (20分) C语言实现]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/107067456</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/107067456</guid><author>MrHaddis</author><pubDate>Wed, 01 Jul 2020 16:57:52 +0800</pubDate><description><![CDATA[1022 D进制的A+B (20分)
输入两个非负 10 进制整数 A 和 B (≤2
​30
​​ −1)，输出 A+B 的 D (1&lt;D≤10)进制数。
输入格式：
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式：
输出 A+B 的 D 进制数。
输入样例：
123 456 8
输出样例：
1103
代码：
源码地址：https://github.com/MrHaddis/PAT1022
#include &lt;stdio.h&gt;
#include &lt;math.h&gt;]]></description><category></category></item><item><title><![CDATA[PAT 1021 个位数统计 (15分) C语言实现]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/107023499</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/107023499</guid><author>MrHaddis</author><pubDate>Mon, 29 Jun 2020 17:05:43 +0800</pubDate><description><![CDATA[1021 个位数统计 (15分)
给定一个 k 位整数 N=d​k−1​​ 10​k−1​​ +⋯+d​1​​ 10​1​ +d​0​​  (0≤d​i​ ≤9, i=0,⋯,k−1, d​k−1​​ &gt;0)，请编写程序统计每种不同的个位数字出现的次数。例如：给定 N=100311，则有 2 个 0，3 个 1，和 1 个 3。
输入格式：
每个输入包含 1 个测试用例，即一个不超过 1000 位的正整数 N。
输出格式：
对 N 中每一种不同的个位数字，以 D:M 的格式在一行中输出该位数字 D 及]]></description><category></category></item><item><title><![CDATA[PAT 1020 月饼 (25分) C语言实现]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/107023304</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/107023304</guid><author>MrHaddis</author><pubDate>Mon, 29 Jun 2020 16:38:52 +0800</pubDate><description><![CDATA[1020 月饼 (25分)
月饼是中国人在中秋佳节时吃的一种传统食品，不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量，请你计算可以获得的最大收益是多少。
注意：销售时允许取出一部分库存。样例给出的情形是这样的：假如我们有 3 种月饼，其库存量分别为 18、15、10 万吨，总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨，那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼，获得 72 + 45/2 = ]]></description><category></category></item><item><title><![CDATA[PAT 1019 数字黑洞 (20分) C语言实现]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/106945925</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/106945925</guid><author>MrHaddis</author><pubDate>Wed, 24 Jun 2020 16:06:01 +0800</pubDate><description><![CDATA[1019 数字黑洞 (20分)
给定任一个各位数字不完全相同的 4 位正整数，如果我们先把 4 个数字按非递增排序，再按非递减排序，然后用第 1 个数字减第 2 个数字，将得到一个新的数字。一直重复这样做，我们很快会停在有“数字黑洞”之称的 6174，这个神奇的数字也叫 Kaprekar 常数。
例如，我们从6767开始，将得到
7766 - 6677 = 1089
9810 - 0189 = 9621
9621 - 1269 = 8352
8532 - 2358 = 6174
7641 - 1467 = ]]></description><category></category></item><item><title><![CDATA[PAT 1018 锤子剪刀布 (20分) C语言实现]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/106938496</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/106938496</guid><author>MrHaddis</author><pubDate>Wed, 24 Jun 2020 10:23:38 +0800</pubDate><description><![CDATA[1018 锤子剪刀布 (20分)
现给出两人的交锋记录，请统计双方的胜、平、负次数，并且给出双方分别出什么手势的胜算最大。
输入格式：
输入第 1 行给出正整数 N（≤10
​5
​​ ），即双方交锋的次数。随后 N 行，每行给出一次交锋的信息，即甲、乙双方同时给出的的手势。C 代表“锤子”、J 代表“剪刀”、B 代表“布”，第 1 个字母代表甲方，第 2 个代表乙方，中间有 1 个空格。
输出格式：
输出第 1、2 行分别给出甲、乙的胜、平、负次数，数字间以 1 个空格分隔。第 3 行给出两个字母，分别代]]></description><category></category></item><item><title><![CDATA[PAT 1017 A除以B (20分) C语言实现]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/106895220</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/106895220</guid><author>MrHaddis</author><pubDate>Mon, 22 Jun 2020 09:08:28 +0800</pubDate><description><![CDATA[1017 A除以B (20分)
本题要求计算 A/B，其中 A 是不超过 1000 位的正整数，B 是 1 位正整数。你需要输出商数 Q 和余数 R，使得 A=B×Q+R 成立。
输入格式：
输入在一行中依次给出 A 和 B，中间以 1 空格分隔。
输出格式：
在一行中依次输出 Q 和 R，中间以 1 空格分隔。
输入样例：
123456789050987654321 7
输出样例：
17636684150141093474 3
代码：
#include &lt;stdio.h&gt;
//MrHaddis]]></description><category></category></item><item><title><![CDATA[PAT 1016 部分A+B (15分) C语言实现]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/106851017</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/106851017</guid><author>MrHaddis</author><pubDate>Fri, 19 Jun 2020 10:58:27 +0800</pubDate><description><![CDATA[1016 部分A+B (15分)
正整数 A 的“D​A​​ （为 1 位整数）部分”定义为由 A 中所有 D​A​​  组成的新整数 P​A​​ 。例如：给定 A=3862767，D​A​​ =6，则 A 的“6 部分”P​A​​  是 66，因为 A 中有 2 个 6。现给定 A、D​A​​ 、B、D​B
​​ ，请编写程序计算 P​A​​ +P​B​​ 。
输入格式：
输入在一行中依次给出 A、D​A​​ 、B、D​B​​ ，中间以空格分隔，其中 0&lt;A,B&lt;10​10​​ 。
输出格式：]]></description><category></category></item><item><title><![CDATA[PAT 1015 德才论 (25分) C语言实现]]></title><link>https://blog.youkuaiyun.com/MrHaddis/article/details/106788738</link><guid>https://blog.youkuaiyun.com/MrHaddis/article/details/106788738</guid><author>MrHaddis</author><pubDate>Thu, 18 Jun 2020 16:56:47 +0800</pubDate><description><![CDATA[1015 德才论 (25分)
宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”：“是故才德全尽谓之圣人，才德兼亡谓之愚人，德胜才谓之君子，才胜德谓之小人。凡取人之术，苟不得圣人，君子而与之，与其得小人，不若得愚人。”
现给出一批考生的德才分数，请根据司马光的理论给出录取排名。
输入格式：
输入第一行给出 3 个正整数，分别为：N（≤10
​5
​​ ），即考生总数；L（≥60），为录取最低分数线，即德分和才分均不低于 L 的考生才有资格被考虑录取；H（&lt;100），为优先录取线——德分和才分均不低]]></description><category></category></item></channel></rss>