随笔分类 - 算法
摘要:引发错误结果的代码: class Solution { List<List<Integer>> result = new ArrayList<>(); LinkedList<Integer> path = new LinkedList<>(); public List<List<Integer>>
阅读全文
摘要:【PAT A1060】Are They Equal If a machine can save only 3 significant digits, the float numbers 12300 and 12358.9 are considered equal since they are bot
阅读全文
摘要:【PAT 1017】A除以B 题目描述 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。 输入描述: 输入在1行中依次给出A和B,中间以1空格分隔。 输出描述: 在1行中依次输出Q和R,中间以1空格分隔。 输入例子:
阅读全文
摘要:【PAT B1040/A1093】有几个PAT The string APPAPT contains two PAT's as substrings. The first one is formed by the 2nd, the 4th, and the 6th characters, and t
阅读全文
摘要:#打表法 打表是一种典型的用空间换时间的技巧,一般指将所有可能需要用到的结果事先计算出来,这样后面需要用到时就可以直接查表得到。常见用法如下: 1.在程序中一次性计算出所有需要用到的结果,之后的查询直接取这些结果。 这是最常用的用法,例如在Fibonacci数F(n)的问题中,如果进行预处理,即把所
阅读全文
摘要:#贪心算法满足两个性质: (1)贪心选择性质 指的是原问题的整体最优解可以通过一系列局部最优的选择得到。运用同一个规则,将原问题变为一个相似的但规模更小的子问题,而后每一步都是当前最优的选择,这种选择依赖已作出的选择,但不依赖于未作出的选择。 (2)最优子结构性质 当一个问题的最优解包含其子问题的最
阅读全文
摘要:#分治 分治法的三个步骤: 1.分解:将原问题分解为若干和原问题拥有相同或相似结构的子问题 2.解决:递归求解所有子问题。如果存在子问题的规模小到可以直接解决,就直接解决。 3.合并:将子问题的解合并为原问题的解。 #递归 “要理解递归,你要先理解递归,直到你能理解递归”。 递归有两个十分重要的概念
阅读全文
摘要:hash基础版:https://www.cnblogs.com/techgy/p/15037113.html 对于基础hash里面讲到的对只有大写字母的字符串,它将字符串当作二十六进制的数,然后将其转换为十进制。 如下式子,其中str[i]表示字符串的i号位,index函数将A~Z转换为0~25,H
阅读全文
摘要:散列可以表示为一句话:将元素通过一个函数转换为整数,使得该整数可以尽量唯一地代表这个元素! 来看一个简单的问题:给出N个正整数,再给出M个正整数,问M个数中的每个数分别是否在N个数中出现过,其中N,M<=105,且所有正整数均不超过105。 例子:N=5,M=3,N个正整数为{8,2,4,7,1},
阅读全文
摘要:PAT Ranking Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhejiang University. Each test is suppose
阅读全文
摘要:###题目描述: 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母
阅读全文
摘要:##问题:如何判断一个单链表是否有环? ###解答: 可以把遍历过的结点用一个HashSet存储起来,然后没遍历一个新节点的时候就再去和HashSet中的元素做匹配。如果HashSet中已存在该结点,那么单链表有环。假设从单链表头结点到环入口结点的距离是D,单链表的环长是S。而每一次HashSet查
阅读全文
摘要:###题目描述 令Pi表示第i个素数。现任给两个正整数M ⇐ N ⇐ 10000,请输出PM到PN的所有素数。 ###输入描述 输入在一行中给出M和N,其间以空格分隔。 ###输出描述 输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。 ###输入例子 5 27
阅读全文
摘要:###题目描述 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和; A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...; A3 = 被5除后余2的数字的个数; A4 = 被5除后余3的数字的平均数,精确到小
阅读全文
摘要:###题目描述 给定区间[-2的31次方, 2的31次方]内的3个整数A、B和C,请判断A+B是否大于C。 ###输入描述 输入第1行给出正整数T(<=10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。 ###输出描述 对每组测试用例,在一行中输出“C
阅读全文
摘要:蓝桥杯 ALGO 3 K好数 问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对100000
阅读全文
摘要:蓝桥杯 ALGO 2 最大最小公倍数 问题描述 已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。 输入格式 输入一个正整数N。 输出格式 输出一个整数,表示你找到的最小公倍数。 样例输入 9 样例输出 504 数据规模与约定 1 1来说都成立),而(n 1) (n 2)
阅读全文
摘要:蓝桥杯 ALGO 1 区间K大数查询 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。 输入格式 第一行包含一个数n,表示序列长度。 第二行包含n个正整数,表示给定的序列。 第三个包含一个正整数m,表示询问个数。 接
阅读全文
摘要:蓝桥杯 ALGO 12 幂方分解 问题描述 任何一个正整数都可以用2的幂次方表示。例如: 137=27+23+20 同时约定方次用括号来表示,即ab 可表示为a(b)。 由此可知,137可表示为: 2(7)+2(3)+2(0) 进一步:7= 22+2+20 (21用2表示) 3=2+20 所以最后1
阅读全文
摘要:蓝桥杯 ALGO 11 瓷砖铺放 问题描述 有一长度为N(1= 2){ fun(n 1); fun(n 2); } } }
阅读全文