算法
write_hu
学生,博客用于学习笔记
展开
-
判断是否为闰年
1、能被4整除但不能被100整除,或者能被400整除并且能被100整除 public class num1to1 { static boolean isrun(int n){ if(n%4==0&&n%100!=0||(n%400==0&&n%100==0)){ return true; }else{ return false; } } ...原创 2020-03-19 17:07:38 · 290 阅读 · 0 评论 -
最长递增子序列求解
问题: 给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱)。例如:给定一个长度为6的数组A{5, 6, 7, 1, 2, 8},则其最长的单调递增子序列为{5,6,7,8},长度为4. 1、最长公共子序列法: 我们可以将数组A排序后放入数组B,然后求A和B的最长公共子序列即可; 代码:在这里插入代码片 ...原创 2020-03-16 22:30:40 · 276 阅读 · 0 评论 -
求最大公约数及最小公倍数
1、辗转相除法 辗转相除法又叫欧几里得算法,是欧几里得最先提出来的.辗转相除法的实现,是基于下面的原理(在这里用(a,b)表示a和b的最大公因数): (a,b)=(a,ka+b),因为如果p可以整除a,也可以整除b,那么p必然可以整除ak+b,即a*k/p+b/p,所以我们可以用两数中较大的数取余较小的数(余数),一直到出现0为止,不为0 的数就是最大公约数,例如: (27,45)=(27...原创 2020-03-05 18:35:48 · 1945 阅读 · 0 评论 -
蓝桥杯第七届省赛JAVA真题----剪邮票
剪邮票 如【图1.jpg】, 有12张连在一起的12生肖的邮票 现在你要从中剪下5张来,要求必须是连着的 (仅仅连接一个角不算相连) 比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取 请你计算,一共有多少种不同的剪取方法 请填写表示方案数目的整数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 图1: 图2: 图3: ...原创 2020-02-22 21:52:28 · 319 阅读 · 0 评论