- 博客(29)
- 收藏
- 关注
原创 最短路径
第1节 只有五行的算法——Floyd-Warshall问题描述求任意两个城市之间的最短路径,也就是求任意两点之间的最短路径。这个问题也被称为“多源最短路径”问题。(采用Floyd-Warshall算法)基本思想:最开始只允许经过1号顶点进行中转,接下来只允许经过1和2号顶点进行中转......允许经过1~n号顶点进行中转,求任意两点之间的最短路程。本题采用邻接矩阵的方法存储图。...
2019-04-20 21:01:52
294
原创 图的遍历
第1节 深度和广度优先究竟指啥问题描述使用深度优先搜索遍历一个图(废话不多说,直接上代码)。package com.qianwei.chapter5;import java.util.Scanner;public class GraphDFS { static int[][] e = new int[100][100]; static int[] boo...
2019-04-05 09:28:40
252
原创 万能的搜索
第1节 不撞南墙不回头——深度优先搜索问题描述输入一个自然数N(1<=N<=9),从小到大输出用1~N组成的所有排列,也就说全排列。例如输入3则输出123132213231312321输入格式:输入一个自然数N(1<=N<=9)输出格式:N的全排列,每行一个限制:每个测试点1秒样例 1 :输入:2输出:...
2019-04-04 18:26:50
466
原创 枚举!很暴力
第1节 坑爹的奥数问题描述小哼遇到了一道奥数题:???+???=???,将数字1~9分别填入9个?中使得等式成立的组合共几种?注:一个式子中每个数字只能使用一次。并且规定左右如173+286=459 和 286+173=459的形式是同一个组合。package com.qianwei.chapter3;public class MathematicalOlympiadTe...
2019-04-02 18:22:21
651
原创 栈、队列、链表
第1节 解密QQ号——队列问题描述新学期开始了,小哈是小哼的新同,小哼向小哈询问QQ号,小哈当然不会直接告诉小哼。所以小哈给了小哼一串加密过的数字,同时小哈也告诉了小哼解密规则。规则是这样的:首先将第1个数删除,紧接着将第2个数放到这串数的末尾,再将第3个数删除并将第4个数再放到这串数的末尾,再将第5个数删除……直到剩下最后一个数,将最后一个数也删除。按照刚才删除的顺序,把这些删除的数...
2019-04-02 13:30:59
515
1
原创 一大波数正在靠近——排序
今年侥幸获得了蓝桥杯省赛一等奖,于是买了本《啊哈算法》先练练手,希望国赛不是当炮灰。由于本人喜欢Java,讨厌繁琐的C语言,而《啊哈算法》却又是C语言编写,大致浏览了一下,感觉代码用到C语言的特性不是很多,于是下定决心将本书的所有代码全部用Java实现,既能锻炼算法,又能熟练Java,两全其美,何乐不为。第1节 最快最简单的排序——桶排序问题描述期末考试完了老师要将同学们的分数...
2019-03-31 21:10:20
271
原创 南阳OJ题目41---三个数从小到大排序
三个数从小到大排序时间限制:3000 ms | 内存限制:65535 KB难度:0描述现在要写一个程序,实现给三个数排序的功能输入输入三个正整数输出给输入的三个正整数排序样例输入20 7 33样例输出7 20 33代码总共就三数,还排个啥序啊,直接暴力枚举,简单粗暴省时间import java.util.Scanner;public class Test41 { public stat...
2018-04-29 21:21:14
294
原创 南阳OJ题目40---公约数和公倍数
公约数和公倍数时间限制:1000 ms | 内存限制:65535 KB难度:1描述小明被一个问题给难住了,现在需要你帮帮忙。问题是:给出两个正整数,求出它们的最大公约数和最小公倍数。输入第一行输入一个整数n(0<n<=10000),表示有n组测试数据;随后的n行输入两个整数i,j(0<i,j<=32767)。输出输出每组测试数据的最大公约数和最小公倍数样例输入36 6...
2018-04-29 21:07:05
272
原创 南阳OJ题目39---水仙花数
水仙花数时间限制:1000 ms | 内存限制:65535 KB难度:0描述请判断一个数是不是水仙花数。其中水仙花数定义各个位数立方和等于它本身的三位数。输入有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)输入0表示程序输入结束。输出如果n是水仙花数就输出Yes否则输出No样例输入1531540样例输出YesNo代码import java.util.Sc...
2018-04-29 20:57:26
439
原创 南阳OJ题目33---蛇形填数
蛇形填数时间限制:3000 ms | 内存限制:65535 KB难度:3描述在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:10 11 12 19 16 13 28 15 14 37 6 5 4输入直接输入方陈的维数,即n的值。(n<=100)输出输出结果是蛇形方陈。样例输入3样例输出7 8 16 9 25 4 3代码import java.util.Sc...
2018-04-27 16:45:08
235
原创 南阳OJ题目31---5个数求最值
5个数求最值时间限制:1000 ms | 内存限制:65535 KB难度:1描述设计一个从5个整数中取最小数和最大数的程序输入输入只有一组测试数据,为五个不大于1万的正整数输出输出两个数,第一个为这五个数中的最小值,第二个为这五个数中的最大值,两个数字以空格格开。样例输入1 2 3 4 5样例输出1 5代码import java.util.Scanner;public class Test...
2018-04-27 15:59:18
225
原创 南阳OJ题目24---素数距离问题
素数距离问题时间限制:3000 ms | 内存限制:65535 KB难度:2描述现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。如果输入的整数本身就是素数,则输出该素数本身,距离输出0输入第一行给出测试数据组数N(0<N<=10000)接下来的N行每行有一个整数M(0<M<10000...
2018-04-27 15:01:14
185
原创 南阳OJ题目22---素数求和问题
素数求和问题时间限制:3000 ms | 内存限制:65535 KB难度:2描述现在给你N个数(0<N<1000),现在要求你写出一个程序,找出这N个数中的所有素数,并求和。输入第一行给出整数M(0<M<10)代表多少组测试数据每组测试数据第一行给你N,代表该组测试数据的数量。接下来的N个数为要测试的数据,每个数小于1000输出每组测试数据结果占一行,输出给出的测试数据...
2018-04-27 13:46:06
237
原创 南阳OJ题目13---Fibonacci数
Fibonacci数时间限制:3000 ms | 内存限制:65535 KB难度:1描述无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地定义为F(n)=1 ...........(n=1或n=2)F(n)=F(n-1)+F(n-2).....(n>2)现要你来求第n个斐波那契数。(第1个、第二个都为1)输入第一行是一个整数m(m<...
2018-04-27 12:56:30
229
原创 南阳OJ题目11---奇偶数分离
奇偶数分离时间限制:3000 ms | 内存限制:65535 KB难度:1描述有一个整型偶数n(2<= n <=10000),你要做的是:先把1到n中的所有奇数从小到大输出,再把所有的偶数从小到大输出。输入第一行有一个整数i(2<=i<30)表示有 i 组测试数据;每组有一个整型偶数n。输出第一行输出所有的奇数第二行输出所有的偶数样例输入21014样例输出1 3 5...
2018-04-27 12:42:46
349
原创 南阳OJ题目4---ASCII排序(Java)
ASCII码排序时间限制:3000 ms | 内存限制:65535 KB难度:2描述输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。输入第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。输出对于每组输入数据,输出一行,字符中间用一个空格分开。样例输入2qweasd样例输出e q wa d s...
2018-04-26 00:09:47
416
原创 百鸡问题
问题描述公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。public class Test7_1_1 { public static void main(String[] args) { // TODO Auto-generated method stub for (int i=0;...
2018-04-23 23:20:25
1872
原创 汉诺塔问题
问题描述有三根杆子A,B,C 。A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆: * 1 每次只能移动一个圆盘; * 2 大盘不能叠在小盘上面。提示:可将圆盘临时置于B杆,也可以将A杆移除的圆盘重新移动回A杆,但都必须遵循上述两条规则。 问:如何移?最少要移动多少次?import java.io.BufferedReader;import jav...
2018-04-23 22:45:16
243
原创 杨辉三角
问题描述打印杨辉三角import java.util.Scanner;public class Test5_1_1 { static void yanghui(int n) { int[][] a=new int[n][n]; for (int i=0;i<n;i++) { for (int j=0;j<=i;j++) { if (j==0 |...
2018-04-23 22:35:20
148
原创 判断天数
问题描述输入一个年月日,格式如2013/5/15,判断这一天是这一年的第几天。import java.util.Scanner;public class Test3_2_1 { static int day(int y,int m,int d) { int sum=0; switch(m-1) { case 11:sum+=30; case 10:sum+=31;...
2018-04-23 22:10:08
235
原创 统计对称数
问题描述统计10到1000之间对称数的个数,并且打印所有对称数。所谓对称数(又称回文数)是指一整数从左往右看和从右往左看是相同的数字。例如:12321,6226。public class Test3_1_1 { static boolean isSym(int n) { int over=n%10; int q=n; q/=10; while (q!=0) { ov...
2018-04-23 12:25:38
1150
原创 百灯判熄
问题描述有100盏灯,编号为1到100,分别对应100个控制开关。开始全部朝上(朝上表示开,朝下表示关),然后进行以下操作:编号为1的倍数的反方向拨开关,编号为2的倍数的反方向拨开关......编号为100的反方向拨开关,问最后状态为关的灯的编号。public class Test2_7_1 { static void judge() { int[] a=new int[101]; ...
2018-04-23 10:59:52
1022
原创 巧排螺旋矩阵
问题描述螺旋矩阵是一种特殊的方阵,任意输入一个整数n,则按螺旋的方式输出n阶螺旋方阵。例如:当n=3时,输出 1 8 7 2 9 6 3 4 5当n=4时,输出 1 12 11 10...
2018-04-23 00:40:13
384
原创 孪生数
问题描述给定搜索范围m和n(1<=m<n<=20000,m,n为正整数),试找出指定范围内的孪生数(输出时小数在前,大数在后)。孪生数(也称亲密数):如果整数A的全部因子(包括1,不包括A本身)之和等于B,并且整数B的全部因子(包括1,不包括B本身)之和等于A,则称整数A和整数B为孪生数。import java.util.Scanner;public class Test2_...
2018-04-22 19:17:32
2857
原创 素数
问题描述对任意给定的一个正整数,判断其是否为素数,并输出判断结果。import java.util.Scanner;public class Test2_4 { static boolean isPrime(int n) { if (n<=1) return false; else { for (int i=2;i<=(int)Math.sqrt(n);i...
2018-04-22 18:29:04
178
原创 判断闰年
问题描述由键盘输入任意一个年份year,通过程序判断,输出这个年份是否为闰年。import java.util.Scanner;public class Test2_3 { static boolean isLeap(int year) { if (year%4==0&&year%100!=0 || year%400==0) return true; ret...
2018-04-22 18:24:16
163
原创 求平均分
问题描述由键盘输入学生的人数和每个学生的成绩,求出学生成绩的平均分。import java.util.Scanner;public class Test2_2_1 { static double average(int n) { Scanner sc = new Scanner(System.in); System.out.println("请输入学生的成绩:"); doub...
2018-04-22 18:22:22
486
原创 求最大值
问题描述由键盘输入任意三个整数x、y、z,求三个数中的最大值,并输出。import java.util.Scanner;public class Test2_1_1 { static void max(int x,int y,int z) { if (x>=y) { if (x>=z) System.out.println("最大值是:"+x); }...
2018-04-22 18:19:19
860
原创 菜鸟逆袭的第一天
从我上大学的第一天起,我就明白学计算机是一个很苦逼的事,从我第一堂C语言课后我就知道,这将是一个非常非常苦逼的事,从我学算法的第一天起,我才发现自己对她是多么的喜爱。纵然算法虐欺我、虐我、伤我千万遍,我也待她如初恋。 就在昨天中午,我报名参加的第九届蓝桥杯JavaB组省赛结果出来了。唉,果真是希望越大,失望越大,本想着借此机会拿个省一等奖去北京一览帝都的风采,可奈...
2018-04-10 13:03:14
177
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人