<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chauncyyoung的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chauncyyoung</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chauncyyoung]]></copyright><item><title><![CDATA[多数投票算法(Boyer-Moore Algorithm)]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/103570075</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/103570075</guid><author>chauncyyoung</author><pubDate>Mon, 16 Dec 2019 21:23:51 +0800</pubDate><description><![CDATA[一、问题来源 ： LeetCode169. Majority Elements



二、解决问题 ：寻找数组中的众数



三、算法介绍

1、传统方法：

包括但不仅限于暴力法（双重循环逐个数字判断是否为众数）、HashMap法（计数）、排序法（中位数一定为众数，因为即便从距离中点最远的两端起，众数依旧能够到达中位数的位置）、随机数法（随机找数组中一个数判断是否为众数）、分治法
...]]></description><category></category></item><item><title><![CDATA[弗洛伊德的乌龟和兔子]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/103570019</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/103570019</guid><author>chauncyyoung</author><pubDate>Mon, 16 Dec 2019 21:00:21 +0800</pubDate><description><![CDATA[一、问题来源 ： LeetCode287. Find the Duplicate Number



二、解决问题 ：含环链表中环入口结点的寻找问题



三、算法介绍

1、传统方法：用HashSet来解决

假设ListNode类已定义，则按序存入Set后第一个重复的结点即为环入口

public ListNode EntryNodeOfLoop(ListNode pHead){
  ...]]></description><category></category></item><item><title><![CDATA[PAT-B1029 旧键盘 JAVA]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88542271</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88542271</guid><author>chauncyyoung</author><pubDate>Wed, 13 Mar 2019 22:02:50 +0800</pubDate><description><![CDATA[1029旧键盘（20分)

旧键盘上坏了几个键，于是在敲一段文字的时候，对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字，请你列出肯定坏掉的那些键。

输入格式：

输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串，由字母 A-Z（包括大、小写）、数字 0-9、以及下划线_（代表空格）组成。题目保证 2 个字符串均非空。...]]></description><category></category></item><item><title><![CDATA[PAT-B1088 三人行 JAVA&&C]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88429981</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88429981</guid><author>chauncyyoung</author><pubDate>Tue, 12 Mar 2019 21:50:22 +0800</pubDate><description><![CDATA[1088三人行（20 分）

子曰：“三人行，必有我师焉。择其善者而从之，其不善者而改之。”

本题给定甲、乙、丙三个人的能力值关系为：甲的能力值确定是 2 位正整数；把甲的能力值的 2 个数字调换位置就是乙的能力值；甲乙两人能力差是丙的能力值的 X 倍；乙的能力值是丙的 Y 倍。请你指出谁比你强应“从之”，谁比你弱应“改之”。

输入格式：

输入在一行中给出三个数，依次为：M（你自己的能力...]]></description><category></category></item><item><title><![CDATA[PAT-B1087 有多少不同的值 JAVA&&C]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88429340</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88429340</guid><author>chauncyyoung</author><pubDate>Tue, 12 Mar 2019 21:15:22 +0800</pubDate><description><![CDATA[1087有多少不同的值

当自然数n依次取 1、2、3、……、N时，算式⌊n/2⌋+⌊n/3⌋+⌊n/5⌋有多少个不同的值？（注：⌊x⌋为取整函数，表示不超过x的最大自然数，即x的整数部分。）

输入格式：

输入给出一个正整数N（2≤N≤10​4​​）。

输出格式：

在一行中输出题面中算式取到的不同值的个数。



一、JAVA实现


import java.u...]]></description><category></category></item><item><title><![CDATA[PAT-B1086 就不告诉你 JAVA&&C]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88429199</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88429199</guid><author>chauncyyoung</author><pubDate>Tue, 12 Mar 2019 21:08:47 +0800</pubDate><description><![CDATA[1086就不告诉你（15 分）

做作业的时候，邻座的小盆友问你：“五乘以七等于多少？”你应该不失礼貌地围笑着告诉他：“五十三。”本题就要求你，对任何一对给定的正整数，倒着输出它们的乘积。

输入格式：

输入在第一行给出两个不超过 1000 的正整数 A 和 B，其间以空格分隔。

输出格式：

在一行中倒着输出 A 和 B 的乘积。



一、JAVA实现


import java.u...]]></description><category></category></item><item><title><![CDATA[PAT-B1023 组个最小数 JAVA&&C]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88384967</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88384967</guid><author>chauncyyoung</author><pubDate>Sun, 10 Mar 2019 22:09:29 +0800</pubDate><description><![CDATA[1023组个最小数（20 分）

给定数字 0-9 各若干个。你可以以任意顺序排列这些数字，但必须全部使用。目标是使得最后得到的数尽可能小（注意 0 不能做首位）。例如：给定两个 0，两个 1，三个 5，一个 8，我们得到的最小的数就是 10015558。

现给定数字，请编写程序输出能够组成的最小的数。

输入格式：

输入在一行中给出 10 个非负整数，顺序表示我们拥有数字 0、数字 1、...]]></description><category></category></item><item><title><![CDATA[PAT-B1020 月饼 JAVA&&C]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88384008</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88384008</guid><author>chauncyyoung</author><pubDate>Sun, 10 Mar 2019 21:35:35 +0800</pubDate><description><![CDATA[1020月饼（25 分）

月饼是中国人在中秋佳节时吃的一种传统食品，不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量，请你计算可以获得的最大收益是多少。

注意：销售时允许取出一部分库存。样例给出的情形是这样的：假如我们有 3 种月饼，其库存量分别为 18、15、10 万吨，总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨，那么...]]></description><category></category></item><item><title><![CDATA[PAT-B1019 数字黑洞 JAVA&&C]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88293875</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88293875</guid><author>chauncyyoung</author><pubDate>Thu, 07 Mar 2019 15:14:08 +0800</pubDate><description><![CDATA[1019数字黑洞（20 分）

给定任一个各位数字不完全相同的 4 位正整数，如果我们先把 4 个数字按非递增排序，再按非递减排序，然后用第 1 个数字减第 2 个数字，将得到一个新的数字。一直重复这样做，我们很快会停在有“数字黑洞”之称的6174，这个神奇的数字也叫 Kaprekar 常数。

例如，我们从6767开始，将得到




现给定任意 4 位正整数，请编写程序演示到达黑洞的过程...]]></description><category></category></item><item><title><![CDATA[PAT-B1017 A除以B JAVA&&C]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88293488</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88293488</guid><author>chauncyyoung</author><pubDate>Thu, 07 Mar 2019 11:39:35 +0800</pubDate><description><![CDATA[1017A除以B（20 分）

本题要求计算A/B，其中A是不超过 1000 位的正整数，B是 1 位正整数。你需要输出商数Q和余数R，使得A=B×Q+R成立。

输入格式：

输入在一行中依次给出A和B，中间以 1 空格分隔。

输出格式：

在一行中依次输出Q和R，中间以 1 空格分隔。



一、C实现


#include&amp;lt;stdio.h&amp;gt;
...]]></description><category></category></item><item><title><![CDATA[PAT-B1013 数素数 JAVA&&C]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88260287</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88260287</guid><author>chauncyyoung</author><pubDate>Wed, 06 Mar 2019 22:26:39 +0800</pubDate><description><![CDATA[1013数素数（20 分）

令P​i​​表示第i个素数。现任给两个正整数M≤N≤10​4​​，请输出P​M​​到P​N​​的所有素数。

输入格式：

输入在一行中给出M和N，其间以空格分隔。

输出格式：

输出从P​M​​到P​N​​的所有素数，每 10 个数字占 1 行，其间以空格分隔，但行末不得有多余空格。



一、JAVA实现


import ...]]></description><category></category></item><item><title><![CDATA[PAT-basic 1010 一元多项式求导 JAVA&&C]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88255601</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88255601</guid><author>chauncyyoung</author><pubDate>Wed, 06 Mar 2019 22:03:46 +0800</pubDate><description><![CDATA[1010一元多项式求导（25 分）

设计函数求一元多项式的导数。（注：x​n​​（n为整数）的一阶导数为nx​n−1​​。）

输入格式:

以指数递降方式输入多项式非零项系数和指数（绝对值均为不超过 1000 的整数）。数字间以空格分隔。

输出格式:

以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔，但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0，但是表...]]></description><category></category></item><item><title><![CDATA[PAT-basic 1007 素数对猜想 JAVA&&C]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88254567</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88254567</guid><author>chauncyyoung</author><pubDate>Wed, 06 Mar 2019 20:52:34 +0800</pubDate><description><![CDATA[1007素数对猜想（20 分）

让我们定义d​n​​为：d​n​​=p​n+1​​−p​n​​，其中p​i​​是第i个素数。显然有d​1​​=1，且对于n&amp;gt;1有d​n​​是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。

现给定任意正整数N(&amp;lt;10​5​​)，请计算不超过N的满足猜想的素数对的个数。

输入格式:

输入在一行给出正整数N。

输出格式:

在一行中...]]></description><category></category></item><item><title><![CDATA[PAT-B1005 继续(3n+1)猜想 JAVA&&C]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88253098</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88253098</guid><author>chauncyyoung</author><pubDate>Wed, 06 Mar 2019 20:31:08 +0800</pubDate><description><![CDATA[1005继续(3n+1)猜想（25 分）

当我们验证卡拉兹猜想的时候，为了避免重复计算，可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候，我们需要计算 3、5、8、4、2、1，则当我们对n=5、8、4、2 进行验证的时候，就可以直接判定卡拉兹猜想的真伪，而不需要重复计算，因为这 4 个数已经在验证3的时候遇到过了，我们称 5、8、4、2 是被 3“覆盖”的数。我们称一个数...]]></description><category></category></item><item><title><![CDATA[PAT-B1003 我要通过！ C&&JAVA]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88243725</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88243725</guid><author>chauncyyoung</author><pubDate>Wed, 06 Mar 2019 17:14:51 +0800</pubDate><description><![CDATA[1003我要通过！（20 分）

“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件，系统就输出“答案正确”，否则输出“答案错误”。

得到“答案正确”的条件是：

字符串中必须仅有P、A、T这三种字符，不可以包含其它字符；
	任意形如xPATx的字符串都可以获得“答案正确”，其中x或者是空字符串，或者是仅...]]></description><category></category></item><item><title><![CDATA[PAT-B1048 数字加密 C&&JAVA]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88033559</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88033559</guid><author>chauncyyoung</author><pubDate>Thu, 28 Feb 2019 16:48:42 +0800</pubDate><description><![CDATA[1048数字加密（20 分）

本题要求实现一种数字加密方法。首先固定一个加密用正整数 A，对任一正整数 B，将其每 1 位数字与 A 的对应位置上的数字进行以下运算：对奇数位，对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12；对偶数位，用 B 的数字减去 A 的数字，若结果为负数，则再加 10。这里令个位为第 1 位。

输入格式：

输入在一行中依...]]></description><category></category></item><item><title><![CDATA[PAT-B1024/A1073 科学记数法 C&&JAVA]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88029086</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88029086</guid><author>chauncyyoung</author><pubDate>Thu, 28 Feb 2019 15:02:53 +0800</pubDate><description><![CDATA[1024科学计数法（20 分）

科学计数法是科学家用来表示很大或很小的数字的一种方便的方法，其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+，即数字的整数部分只有 1 位，小数部分至少有 1 位，该数字及其指数部分的正负号即使对正数也必定明确给出。

现以科学计数法的格式给出实数A，请编写程序按普通数字表示法输出A，并保证所有有效位都被保留。

输入格式：

每个...]]></description><category></category></item><item><title><![CDATA[PAT-B1014/A1061 福尔摩斯的约会]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88019162</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88019162</guid><author>chauncyyoung</author><pubDate>Thu, 28 Feb 2019 13:52:27 +0800</pubDate><description><![CDATA[1014福尔摩斯的约会（20 分）

大侦探福尔摩斯接到一张奇怪的字条：我们约会吧！ 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;hgsfdk d&amp;amp;Hyscvnm。大侦探很快就明白了，字条上奇怪的乱码实际上就是约会的时间星期四 14:04，因为前面两字符串中第 1 对相同的大写英文字母（大小写有区分）是第 4 个字母D，代表星期四；第 2 对相同...]]></description><category></category></item><item><title><![CDATA[PAT-B1009 说反话 C&&JAVA]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88018149</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88018149</guid><author>chauncyyoung</author><pubDate>Thu, 28 Feb 2019 11:14:07 +0800</pubDate><description><![CDATA[1009说反话（20 分）

给定一句英语，要求你编写程序，将句中所有单词的顺序颠倒输出。

输入格式：

测试输入包含一个测试用例，在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成，其中单词是由英文字母（大小写有区分）组成的字符串，单词之间用 1 个空格分开，输入保证句子末尾没有多余的空格。

输出格式：

每个测试用例的输出占一行，输出倒序后的句子。



一、C...]]></description><category></category></item><item><title><![CDATA[PAT-B1002 写出这个数 C&&JAVA]]></title><link>https://blog.youkuaiyun.com/chauncyyoung/article/details/88017388</link><guid>https://blog.youkuaiyun.com/chauncyyoung/article/details/88017388</guid><author>chauncyyoung</author><pubDate>Thu, 28 Feb 2019 10:55:22 +0800</pubDate><description><![CDATA[1002写出这个数（20 分）

读入一个正整数n，计算其各位数字之和，用汉语拼音写出和的每一位数字。

输入格式：

每个测试输入包含 1 个测试用例，即给出自然数n的值。这里保证n小于10​100​​。

输出格式：

在一行内输出n的各位数字之和的每一位，拼音数字间有 1 空格，但一行中最后一个拼音数字后没有空格。



一、C实现


#include&amp;lt;stdi...]]></description><category></category></item></channel></rss>