
Java经典算法题
解析每一道Java算法编程题
一个射手座程序猿
认真的人,自带光芒
展开
-
Java经典算法题-转圈打印矩阵
【题目】 给定一个整型矩阵matrix,请按照转圈的方式打印它。 *例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 打印结果为:1,2,3,4,8,12,16,15,14,13,9, 5,6,7,11, 10 public class PrintMatrixSpiralOrder { /* ...原创 2018-12-04 09:10:14 · 679 阅读 · 1 评论 -
Java经典算法题—因数分解
/* * 从 因数分解是十分基本的数学运算,应用广泛。 * 下面的程序对整数n(n>1)进行因数分解。 * 比如,n=60, 则输出:2 2 3 5。 */ public static void demo(int n) { for (int i = 2; i < n / 2; i++) { while (n % i == 0) { Syst...原创 2018-11-27 19:42:19 · 1953 阅读 · 0 评论 -
Java经典算法题——组合数
/* * 从4个人中选2个人参加活动,一共有6种选法。 * 从n个人中选m个人参加活动,一共有多少种选法? * 下面的函数实现了这个功能。 */ public static int demo(int n, int m) { if (m > n) { return 0; } if (m == 0) { return 1; } ret...原创 2018-11-21 17:09:01 · 714 阅读 · 0 评论 -
Java经典算法题——猜生日
/* * 今年的植树节(2012年3月12日),小明和他的叔叔还有小伙伴们一起去植树。 * 休息的时候,小明的同学问他叔叔多大年纪,他叔叔说:“我说个题目,看你们谁先猜出来!” * “把我出生的年月日连起来拼成一个8位数(月、日不足两位前补0) * 正好可以被今天的年、月、日整除!” * 他想了想,又补充到:“再给个提示,我是6月出生的。” * 根据这些信息,请你帮小明...原创 2018-11-21 13:02:57 · 1166 阅读 · 0 评论 -
Java经典算法题——最小公倍数
/* * 求两个数字的最小公倍数是很常见的运算。 * 比如,3和5的最小公倍是15。6和8的最小公倍数是24。 * 下面的代码对给定的两个正整数求它的最小公倍数。 */ public static int demo1(int a, int b) { int i; for (i = a;; i = i + a) { if (i % b == 0) { ...原创 2018-11-20 15:52:52 · 1717 阅读 · 0 评论 -
Java经典算法题——放麦子
/* * 你一定听说过这个故事。国王对发明国际象棋的大臣很佩服,问他要什么报酬,大臣说: * 请在第1个棋盘格放1粒麦子, * 在第2个棋盘格放2粒麦子, * 在第3个棋盘格放4粒麦子, * 在第4个棋盘格放8粒麦子,...... * 后一格的数字是前一格的两倍,直到放完所有棋盘格(国际象棋共有64格)。 * 国王以为他只是想要一袋麦子而已,哈哈大笑。当时的条件下无法...原创 2018-11-20 15:10:48 · 1331 阅读 · 1 评论 -
Java经典算法题—用递归求最大值和最小值
public class GetMax { /* * 用递归的思路实现一个数组的最大值 */ public static int getMax(int[] arr, int L, int R) { if (L == R) { return arr[L]; } int mid = (L + R) / 2; int maxLeft = getMax(arr, L, ...原创 2018-11-27 19:47:22 · 2097 阅读 · 0 评论