![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法题
吴泽雄
这个作者很懒,什么都没留下…
展开
-
常用排序算法-归并排序(分治法)
归并排序(分治法) 归并排序,其实是采用常用的算法-分治法来实现的。 所谓的“分”,就是将一个问题分成很多小的问题来进行递归求解; "治",将各个阶段的小问题得到的答案,合并在一起,修补好,即所谓的分而治之。下面我们来举一个简单的例子: 我们将排序一个数组:{5,2,1,4,6,8,3,7} 拆分阶段1:{5,2,1,4}, {6,8,3,...原创 2018-05-25 15:12:50 · 864 阅读 · 0 评论 -
16蓝桥杯算法训练—安慰奶牛
1 问题描述问题描述Farmer John变得非常懒,他不想再继续维护供奶牛之间供通行的道路。道路被用来连接N个牧场,牧场被连续地编号为1到N。每一个牧场都是一个奶牛的家。FJ计划除去P条道路中尽可能多的道路,但是还要保持牧场之间 的连通性。你首先要决定那些道路是需要保留的N-1条道路。第j条双向道路连接了牧场Sj和Ej(1 <= Sj <= N; 1 <= Ej <= N;转载 2017-03-24 11:40:27 · 317 阅读 · 0 评论 -
16蓝桥杯算法训练—最短路
package SuanFa_Train;import java.util.Scanner;/* 最短路问题描述给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输原创 2017-03-23 21:18:53 · 909 阅读 · 0 评论 -
第五届蓝桥杯A组java—神器算式
package the_five_session__A;import java.util.*;/*标题:神奇算式 由4个不同的数字,组成的一个乘法算式,它们的乘积仍然由这4个数字组成。 比如: 210 x 6 = 1260 8 x 473 = 378427 x 81 = 2187 都符合要求。 如果满足乘法交换律的算式算作同原创 2017-03-28 23:56:30 · 338 阅读 · 0 评论 -
第五届蓝桥杯A组java—李白打酒
package the_five_session__A;/*标题:李白打酒 话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。原创 2017-03-28 23:53:26 · 365 阅读 · 0 评论 -
第五届蓝桥杯A组java—猜年龄
package the_five_session__A;/*标题:猜年龄 小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的6倍”。小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。” 请你写出:小明的较小的妹妹的年龄。注意: 只写一个人的年龄数字,请通过浏览器提交答案。不要书写任何多余的内容。*/原创 2017-03-28 23:52:07 · 1729 阅读 · 1 评论 -
16蓝桥杯基础—字母图形
/* * 字母图形利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字符,为你的原创 2017-03-07 13:19:41 · 264 阅读 · 0 评论 -
16蓝桥杯基础—01字串
/* * 01字串问题描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。输入格式本试题没有输入。输出格式输出32行,按从小到大的顺序每行一个长度为5的01串。样例输出000000000100010原创 2017-03-07 13:18:57 · 254 阅读 · 0 评论 -
16蓝桥杯基础—闰年判断
* *闰年判断问题描述给定一个年份,判断这一年是不是闰年。当以下情况之一满足时,这一年是闰年:1. 年份是4的倍数而不是100的倍数;2. 年份是400的倍数。其他的年份都不是闰年。输入格式输入包含一个整数y,表示当前的年份。输出格式输出一行,如果给定的年份是闰年,则输出yes,否则输出no。说明:当试题指定你输出一个字符串作为结果(比如本题原创 2017-03-07 13:18:31 · 279 阅读 · 0 评论 -
16蓝桥杯基础—杨辉三角
import java.util.Scanner;/*问题描述 杨辉三角杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前4行: 1 1 1 1 2 11 3 3 1给出n,输出它的前n行。输入格式输原创 2017-03-07 13:17:58 · 408 阅读 · 0 评论 -
第五届蓝桥杯A组java—六角填数
/*标题:六角填数 如图【1.png】所示六角形中,填入1~12的数字。 使得每条直线上的数字之和都相同。 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?请通过浏览器提交答案,不要填写多余的内容。*/思路:把12个格子的数分配到数组里面,在对数组的元素赋值,在所有可能中选出符合条件的。以下为代码,用了递归的方法pub原创 2017-04-01 14:14:33 · 508 阅读 · 0 评论 -
第五届蓝桥杯A组java—斐波那契
/*标题:斐波那契 斐波那契数列大家都非常熟悉。它的定义是: f(x) = 1 .... (x=1,2) f(x) = f(x-1) + f(x-2) .... (x>2) 对于给定的整数 n 和 m,我们希望求出: f(1) + f(2) + ... + f(n) 的值。但这个值可能非常大,所原创 2017-04-01 14:17:15 · 1439 阅读 · 0 评论 -
第五届蓝桥杯A组Java—兰顿蚂蚁
/*标题:兰顿蚂蚁 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。 平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。 蚂蚁的头部朝向为:上下左右其中一方。 蚂蚁的移动规则十分简单: 若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格; 若蚂蚁在白格,左转90度,将该格改为黑格原创 2017-04-01 14:19:21 · 525 阅读 · 0 评论 -
简单js算法题-报7游戏的安全数
题目:报7游戏的安全数大家从小到大,都玩儿过的一个庸俗的游戏:游戏玩儿法就是,大家轮流报数,如果报到能被7整除的数字,或者尾数是7的数字,都算踩地雷了。就应该罚唱歌。请在控制台输出1~60之间的所有“安全数”。思路:循环遍历1到60,对每个数进行判断,①判断尾数是否为7:取出尾数②判断是否能被7整除: 取余数看是否为0代码: 报7原创 2018-03-21 15:39:56 · 7230 阅读 · 1 评论 -
第七届蓝桥杯大赛个人赛--小明被绑架到X星球的巫师W那里
/*小明被绑架到X星球的巫师W那里。其时,W正在玩弄两组数据 (2 3 5 8) 和 (1 4 6 7)他命令小明从一组数据中分别取数与另一组中的数配对,共配成4对(组中的每个数必被用到)。小明的配法是:{(8,7),(5,6),(3,4),(2,1)}巫师凝视片刻,突然说这个配法太棒了!因为:每个配对中的数字组成两位数,求平方和,无论正倒,居然相等:87^2 +原创 2017-10-27 17:56:51 · 5258 阅读 · 0 评论 -
核桃的数量
package the_five_session_B;import java.util.Scanner;/*问题描述小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:1. 各组的核桃数量必须相同2. 各组内必须能平分核桃(当然是不能打碎的)3. 尽量提供满足1,2条件的最小数量(原创 2017-04-06 21:57:17 · 205 阅读 · 0 评论 -
第五届蓝桥杯B组Java—分糖果
package the_five_session_B;import java.util.Scanner;/*标题:分糖果 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏原创 2017-04-06 21:56:09 · 506 阅读 · 0 评论 -
第五届蓝桥杯B组Java—地宫取宝
import java.util.Scanner;/*标题:地宫取宝 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然原创 2017-04-06 21:55:35 · 759 阅读 · 0 评论 -
第五届蓝桥杯B组java—奇怪的算式
答案95原创 2017-04-04 22:07:49 · 517 阅读 · 0 评论 -
第五届蓝桥杯B组java—猜字母
/*标题:猜字母 把abcd...s共19个字母组成的序列重复拼接106次,得到长度为2014的串。 接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。 得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容。*/public原创 2017-04-04 14:08:15 · 539 阅读 · 0 评论 -
第五届蓝桥杯javaB组—切面条
/*标题:切面条 一根高筋拉面,中间切一刀,可以得到2根面条。 如果先对折1次,中间切一刀,可以得到3根面条。 如果连续对折2次,中间切一刀,可以得到5根面条。 那么,连续对折10次,中间切一刀,会得到多少面条呢?答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。*///思路:n为拉面折叠的次数,//n=1,left=1原创 2017-04-03 13:04:31 · 418 阅读 · 0 评论 -
第五届蓝桥杯A组java—波动数列
/*标题:波动数列 观察这个数列: 1 3 0 2 -1 1 -2 ... 这个数列中后一项总是比前一项增加2或者减少3。 栋栋对这种数列很好奇,他想知道长度为 n 和为 s 而且后一项总是比前一项增加a或者减少b的整数数列可能有多少种呢?【数据格式】 输入的第一行包含四个整数 n s a b,含义如前面说述。 输出一行,包含一个原创 2017-04-02 01:02:53 · 807 阅读 · 0 评论 -
16蓝桥杯基础—特殊的数字
/* 特殊的数字: * 153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。编程求所有满足这种条件的三位十进制数。输出格式 按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。*/public class TeShuDe_ShuZi {public static void main(String[] args)原创 2017-03-07 13:16:10 · 295 阅读 · 0 评论 -
16蓝桥杯基础—特殊回文数
import java.util.Scanner;/*特殊回文数 * 问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式 输入一行,包含一个正整数n。输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样原创 2017-03-07 13:15:43 · 200 阅读 · 0 评论 -
16蓝桥杯入门—圆的面积
package RuMen;import java.math.BigDecimal;import java.math.MathContext;import java.util.Scanner;/*问题描述给定圆的半径r,求圆的面积。输入格式输入包含一个整数r,表示圆的半径。输出格式输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。原创 2017-03-01 20:54:50 · 377 阅读 · 0 评论 -
16蓝桥杯入门—序列求和
import java.math.BigInteger;import java.util.Scanner;/*求1+2+3+...+n的值。输入格式输入包括一个整数n。输出格式输出一行,包括一个整数,表示1+2+3+...+n的值。样例输入4样例输出10样例输入100说明:有一些试题会给出多组样例输入输出以帮助你更好的做题。一般在原创 2017-03-01 20:53:29 · 154 阅读 · 0 评论 -
16蓝桥杯入门—A+B问题
import java.util.Scanner;/*问题描述输入A、B,输出A+B。说明:在“问题描述”这部分,会给出试题的意思,以及所要求的目标。输入格式输入的第一行包括两个整数,由空格分隔,分别表示A、B。说明:“输入格式”是描述在测试你的程序时,所给的输入一定满足的格式。做题时你应该假设所给的输入是一定满足输入格式的要求的,所以你不需要对输入的格原创 2017-03-01 20:51:58 · 197 阅读 · 0 评论 -
第四届蓝桥杯B组java--错误票据
/*标题:错误票据 某涉密单位下发了某种票据,并要在年终全部收回。 每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。 你的任务是通过编程,找出断号的ID和重号的ID。 假设断号不可能发生在最大和最小号。要求程序首先原创 2017-02-12 23:58:54 · 557 阅读 · 0 评论 -
第四届蓝桥杯A组--世纪末的星期
答案:2299原创 2016-10-26 00:01:10 · 350 阅读 · 0 评论 -
第四届蓝桥杯B组java--黄金连分数
package The_fourth_session_B;import java.math.BigDecimal;import java.math.BigInteger;import java.util.Formatter.BigDecimalLayoutForm;/*标题: 黄金连分数 黄金分割数0.61803... 是个无理数,这个常数十分重要,在许多原创 2017-02-09 22:53:43 · 266 阅读 · 0 评论 -
第四届蓝桥杯B组java--马虎的算式
package The_fourth_session_B;/*标题: 马虎的算式 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却很戏剧性,他的答案竟然是对的!! 因为 36 * 495 = 396 * 45 = 17820原创 2017-02-09 17:28:09 · 669 阅读 · 0 评论 -
第四届蓝桥杯A组java--梅森素数
package The_fourth_session_A;/*标题: 梅森素数 如果一个数字的所有真因子之和等于自身,则称它为“完全数”或“完美数” 例如:6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 早在公元前300多年,欧几里得就给出了判定完全数的定理: 若 2^n - 1 是素数,则 2^(n-1)原创 2017-02-09 00:02:52 · 809 阅读 · 0 评论 -
第四届蓝桥杯A组--颠倒的价牌
package The_fourth_session_A;import java.text.DecimalFormat;/*标题: 颠倒的价牌 小李的店里专卖其它店中下架的样品电视机,可称为:样品电视专卖店。 其标价都是4位数字(即千元不等)。 小李为了标价清晰、方便,使用了预制的类似数码管的标价签,只要用颜色笔涂数字就可以了(参见原创 2017-02-08 01:01:57 · 473 阅读 · 0 评论 -
16蓝桥杯入门—Fibonacci数列
/*Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计原创 2017-03-01 20:55:56 · 205 阅读 · 0 评论 -
16蓝桥杯算法训练—区间k大数查询
import java.util.Scanner;/*区间k大数查询 :问题描述给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。输入格式第一行包含一个数n,表示序列长度。第二行包含n个正整数,表示给定的序列。第三个包含一个正整数m,表示询问个数。接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数原创 2017-03-08 23:31:49 · 255 阅读 · 0 评论 -
16蓝桥杯算法训练—最大最小公倍数
import java.util.Scanner;/*算法训练 最大最小公倍数 问题描述已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。输入格式输入一个正整数N。输出格式输出一个整数,表示你找到的最小公倍数。样例输入9样例输出504数据规模与约定1 */public class CommonMulti原创 2017-03-08 23:33:18 · 224 阅读 · 0 评论 -
16蓝桥杯基础—数列特征
import java.util.Scanner;/* 数列特征 问题描述给出n个数,找出这n个数的最大值,最小值,和。输入格式第一行为整数n,表示数的个数。第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。输出格式输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。样例输入原创 2017-03-07 13:15:11 · 238 阅读 · 0 评论 -
16蓝桥杯基础—数列排序
import java.util.Scanner;/*数列排序 * 问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1输入格式 第一行为一个整数n。 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。输出格式 输出一行,按从小到大的顺序输出排序后的数列。样例输入58 3 6 4 9样例输出3 4原创 2017-03-07 13:14:46 · 313 阅读 · 0 评论 -
16蓝桥杯基础—回文数
/*回文数 * 问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。输出格式 按从小到大的顺序输出满足条件的四位十进制数。*/public class HuiWenShu {public static void main(String[] args){for(int i=1000; i{int num1原创 2017-03-07 13:14:26 · 322 阅读 · 0 评论 -
16蓝桥杯基础—十六进制转八进制
import java.util.Scanner;/*十六进制转八进制问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。原创 2017-03-07 13:13:41 · 362 阅读 · 0 评论