算法笔记
陆小茂
致敬开源精神!
展开
-
Java求解旋转词问题
//解法只是根据个人理解,难免有出错,不喜勿喷!题目:[问题描述] 如果字符串t是字符串s的后面若千个字符循环右移得到的.称s和t是旋转词,例如"abedef"和"efabed"是旋转词,而"abedef"和"feabcd"旋转词。输人描述:第1行为n(1≤n≤100),接下来的n行,每行两个字符串,以空格分隔。输出描述:输出n行,若输人的两个字符串是旋转词,输出"Yes",...原创 2018-10-21 18:24:42 · 1031 阅读 · 0 评论 -
第九届蓝桥杯省赛——明码
题目:标题:明码汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。一个字节可以存储8位信息,用32个字节就可以存一个汉字的字形了。把每个字节转为2进制表示,1表示墨迹,0表示底色。每行2个字节,一共16行,布局是: 第1字节,第2字节 第3字节,第4字节 ....原创 2019-03-12 22:17:46 · 261 阅读 · 0 评论 -
第九届蓝桥杯省赛JAVA——全球变暖
题目:标题:全球变暖你有一张某海域NxN像素的照片,"."表示海洋、"#"表示陆地,如下所示:........##.....##........##...####....###........其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。 由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体...原创 2019-03-07 21:05:27 · 483 阅读 · 2 评论 -
第九届蓝桥杯省赛JAVA——日志统计
题目:标题:日志统计小明维护着一个程序员论坛。现在他收集了一份"点赞"日志,日志共有N行。其中每一行的格式是:ts id表示在ts时刻编号id的帖子收到一个"赞"。现在小明想统计有哪些帖子曾经是"热帖"。如果一个帖子曾在任意一个长度为D的时间段内收到不少于K个赞,小明就认为这个帖子曾是"热帖"。具体来说,如果存在某个时刻T满足该帖在[T, T+D)这段时间内(...原创 2019-03-07 18:34:03 · 524 阅读 · 0 评论 -
蓝桥杯历年试题JAVA——最大矩阵和
题目:历届试题 最大子阵 时间限制:1.0s 内存限制:256.0MB问题描述 给定一个n*m的矩阵A,求A中的一个非空子矩阵,使这个子矩阵中的元素和最大。 其中,A的子矩阵指在A中行和列均连续的一块。输入格式 输入的第一行包含两个整数n, m,分别表示矩阵A的行数和列数。 接下来n行,每行m个整数,表示矩阵A。输出格式 输出一行,包含一个整...原创 2019-03-09 16:22:10 · 1193 阅读 · 0 评论 -
第八届蓝桥杯——包子凑数
标题:包子凑数小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼,可以认为是无限笼。每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼3个的再加1笼5个的(也可能选出1笼3个的再加2...原创 2019-03-03 18:50:48 · 364 阅读 · 0 评论 -
初等数论——欧几里得算法
参考图书:《程序设计算法基础》梁冰 第10章初等数论 10.2最大公约数和扩展欧几里得算法最大公约数(Greatest Common Divisor,GCD)为几个整数的公约数中最大的一个,一般求解最大公约数的算法有列举法、质因数分解法和欧几里得算法等。其中,效率较高且在算法竞赛中最常用欧几里得算法求最大公约数。欧几里得算法欧几里得算法(Euclidean algorithm)又称...原创 2019-03-03 17:13:21 · 551 阅读 · 1 评论 -
第八届蓝桥杯省赛JAVA——日期问题
标题:日期问题小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。 比如02/03/04,可能是2002年03月04...原创 2019-03-02 21:48:20 · 302 阅读 · 0 评论 -
动态规划——求解最长公共子序列问题
参考 俞征武《图解算法》第三章动态规划中求解最长相同字符串问题。动态规划的精神:利用小问题的最优解组成大问题的最优解。动态规划解决问题的3个步骤应该是:(1)此问题的“大问题的最优解”可以利用“小问题”的最优解求取。(2)利用一个数学式子将“大问题的最优解”和“小问题的最优解”之间的关系清楚地表达出来。(3)先将“小问题的最优解”计算出后存储下来,再利用他们计算出“大问题的最...原创 2019-02-25 16:28:28 · 1811 阅读 · 0 评论 -
第八届蓝桥杯区赛——最大公共子串
题目标题:最大公共子串最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少。比如:"abcdkkk" 和 "baabcdadabc",可以找到的最长的公共子串是"abcd",所以最大公共子串长度为4。下面的程序是采用矩阵法进行求解的,这对串的规模不大的情况还是比较有效的解法。请分析该解法的思路,并补全划线部分缺失的代码。public class...原创 2019-02-25 14:04:18 · 241 阅读 · 0 评论 -
JAVA之二分查找
package binarySearch;import java.util.Scanner;public class BinarySearch { public static void main(String[] args) { // TODO Auto-generated method stub final int SIZE = 5; int array[] = new...原创 2019-02-27 17:23:52 · 158 阅读 · 0 评论 -
第八届蓝桥杯JAVA区赛_购物单
问题:小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。 这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。 小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。 现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。 取款机只能提供10...原创 2019-02-11 20:21:46 · 1013 阅读 · 5 评论 -
第九届蓝桥杯省赛——螺旋曲线
题目:标题:螺旋折线如图p1.pgn所示的螺旋折线经过平面上所有整点恰好一次。 对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。 例如dis(0, 1)=3, dis(-2, -1)=9 给出整点坐标(X, Y),你能计算出dis(X, Y)吗?【输入格式】X和Y对于40%的数据,-1000 &l...原创 2019-03-12 22:33:55 · 487 阅读 · 0 评论