随笔分类 -  数据结构/算法

A星寻路示例
摘要:package autoFindPath; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.event.MouseEvent; import java.awt.ev 阅读全文

posted @ 2011-05-31 11:05 台哥编程课堂 阅读(1150) 评论(0) 推荐(0) 编辑

商人胡萝卜问题
摘要:一个商人骑一头驴要穿越1000公里长的沙漠,去卖3000根胡萝卜。 已知驴一次性可驮1000根胡萝卜,但每走1公里又要吃掉1根胡萝卜。 问:商人最多可卖出多少胡萝卜? 答案: 带1000到200公里处,返回。如此往复,需要走五次,吃1000胡萝卜。可将2000胡萝卜带到200公里处。 重复以上过程, 阅读全文

posted @ 2011-04-04 21:39 台哥编程课堂 阅读(1263) 评论(0) 推荐(0) 编辑

狼和羊过河问题
摘要:package guohe; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; /** * 狼羊过河问题 * @author tiger * @date 2011年1月27日。 * * 这里 阅读全文

posted @ 2011-01-28 16:59 台哥编程课堂 阅读(2558) 评论(0) 推荐(0) 编辑

数独布局算法
摘要:<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->package tiger;impo 阅读全文

posted @ 2011-01-26 11:51 台哥编程课堂 阅读(683) 评论(0) 推荐(0) 编辑

一元二次方程的因式分解
摘要:/*** 求因式分解* @author tiger* @date 2010-08-23*/public class fenjie {public int a ;public int b ;public int c ;public void print(){String str = "";if(a == 1){str += "x^2";}else if(a > 0 || a < 0){str += a + "x^2";}if(b == 1){str += " + " + "x" ;}e 阅读全文

posted @ 2010-08-30 00:37 台哥编程课堂 阅读(387) 评论(0) 推荐(0) 编辑

1000的阶乘有多少位
摘要:package papa; import java.util.ArrayList; import java.util.List; /** * * 1000的阶乘有多少位? * * java数据类型可支持最大数字好像是25的阶乘左右。 * 1000的阶乘太大了,不可能用简单的循环乘积办法求解。 * * 这里是用字符串来做的加法和乘法运算。减法除法没有实现。 * 1000的阶乘,运行了近1分钟才给出答案,呵,好大一个数字啊。 * * @author tiger * @date 2010-8-30 凌晨。 于赤沙。 * */ public class BigNumber { //addition 加 阅读全文

posted @ 2010-08-30 00:36 台哥编程课堂 阅读(3469) 评论(0) 推荐(0) 编辑

打印竖排的文字
摘要:/** * 文字内容的竖排 * 顺序:从上往下,从右向左。 * * @author tiger * @date 2010-07-26 22:25 */ public class shupai { private String str = ""; public shupai(String str) { this.str = str;... 阅读全文

posted @ 2010-07-26 22:49 台哥编程课堂 阅读(680) 评论(0) 推荐(0) 编辑

打印全排列
摘要:import java.util.LinkedList; import java.util.Queue; /** * 打印全排列 * * 采用的是递归算法。 * 数学根据:m个数的全排列可由第m个数分别往其余 * m-1个数的所有全排列的m个不同位置插空而得到。 * * 可以用进位制的思想来解决排列问题。 * 只是需要每次得到的进位制字符串中各位均不相同而已!!! * 可... 阅读全文

posted @ 2010-07-23 18:51 台哥编程课堂 阅读(1003) 评论(0) 推荐(0) 编辑

打印杨辉三角
摘要:/*** 打印杨辉三角* @author tiger* @date 2010-07-20 周二* 于赤沙石伦里横街15号402。 */public class yanghui {private int[] array = {0,1,0};private int[] getNextArray(int[] array){int length = array.length + 1;int[] nextArray = new int[length];nextArray[0] = 0;nextArray[length - 1] = 0;for (int i = 1; i < length - 1; 阅读全文

posted @ 2010-07-23 18:51 台哥编程课堂 阅读(143) 评论(0) 推荐(0) 编辑

信手胡写二分法
摘要:/** * 几个二分法 * 使用二分法的前提是数组已经排好序 * * @author tiger */ public class erfenfa { /** * 中间调用多个自身方法 */ public void erFenFa(int[] array, int fromIndex, int toIndex, int goal){ if(fromIndex > to... 阅读全文

posted @ 2010-07-23 18:50 台哥编程课堂 阅读(136) 评论(0) 推荐(0) 编辑

简单起名程序
摘要:/** * 简单起名程序 * * 源于公司游戏起名,随手而写。 * * @author tiger * */public class NAME { public static void main(String[] args) { String[] str = new String[]{"刀","剑","奇","侠","魔","武","林","狂","舞","龙","云",&qu 阅读全文

posted @ 2010-07-23 18:49 台哥编程课堂 阅读(310) 评论(0) 推荐(0) 编辑

打印数字521,笔画由汉字组成
摘要:/** * 打印数字521,笔画由汉字组成。 * @author tiger * @date 2010-5-21 */ public class wueryi { private int[][] array = { {1,1,1,0,2,2,2,0,0,3}, {1,0,0,0,0,0,2,0,0,3}, {1,1,1,0,2,2,2,0,0,3}, {0... 阅读全文

posted @ 2010-06-06 13:24 台哥编程课堂 阅读(539) 评论(0) 推荐(0) 编辑

矩阵行列变换生成伪数独
摘要:/*** * @author tiger* @date 2010-5-28 18:54 于公司* ** 注: 先随机生成最中间的3*3矩阵* 对这个小矩阵进行适当的行变换和列变换* 把生成的新矩阵赋值到9*9数独矩阵的适当位置。* 即可生成一个数独。* * 不过,既然是按照一定的行列变换来生成的。* 有了确定的规律,所以生成的数独看上去也就是有规律的。* 算是个最简单的数独吧,适合1-2年级的小学生玩。*/public class sodu2 {public sodu2(){this.mix(array);this.initCenter();this.initOther();this.comp 阅读全文

posted @ 2010-06-06 13:21 台哥编程课堂 阅读(572) 评论(0) 推荐(0) 编辑

递归算法生成数独
摘要:/*** * 递归方法生成数独* * @author tiger* @date 2010-5-28 完成于公司* * 复杂度有点高,有空优化。*/public class sodu {private int[][] sodu = null;private int[] tai = null;/** * 构造方法 * 因为每执行一次递归都会把数组tai元素全置为-1. * 所以在执行一次递归后需要重新给tai赋值。 */public sodu(){do{this.init();tai = getMixArray();tiger(0,0,0,0); //uplefttai = getMixArray 阅读全文

posted @ 2010-06-06 13:21 台哥编程课堂 阅读(1117) 评论(0) 推荐(0) 编辑

判断数组元素是否从1到9
摘要:/*** 判断数组元素是否从1到9* @author tiger**/public class kuangda {int flag = 0x3fe;int[] array = new int[]{2,1,3,9,5,6,7,8,4};private boolean isYesArray(){for (int i = 0; i < array.length; i++) {int abc = 0;abc = flag & (1 << array[i]);flag = flag - abc;if(abc == 0)return false;}return true;}/** 阅读全文

posted @ 2010-06-06 13:14 台哥编程课堂 阅读(246) 评论(0) 推荐(0) 编辑

几个二分法示例
摘要:/*** 几个二分法* @author tiger*/public class Test {/** * 中间调用多个自身方法 */public void erFenFa(int[] array, int fromIndex, int toIndex, int goal){if(fromIndex > toIndex){ // 这一句非常重要!return;}int middle = (fromIndex + toIndex) / 2;if(array[middle] == goal){System.out.println(goal + "在数组中的索引是:" + mi 阅读全文

posted @ 2010-05-27 19:12 台哥编程课堂 阅读(242) 评论(0) 推荐(0) 编辑

求同一天生日的概率
摘要:/*** 求同一天生日的概率* @author tiger* @date 2010-5-13* * 注:早上看公司邮件说本月有12名同事生日,* 突然就想算下有同一天生日的概率是多少。* 于是写了这段代码。* * 发现12个人有同一天生日的概率达到92%啊!* */public class tiger{/** * 求阶乘 * m 须要是正数 *//*private double jiecheng(int m){if(m==0){return 1;}else{return m * jiecheng(m-1);}}*//** * 求组合(m选n) * m、n 须要是正数且m>n */priv 阅读全文

posted @ 2010-05-19 19:39 台哥编程课堂 阅读(1347) 评论(0) 推荐(0) 编辑

百度程序题目----连续数问题--- 另解
摘要:/*** 百度之星程序大赛第一题* @author tiger* @date : 2010年5月19日*/public class baidu {/** * 返回从i到j的和 * 等差数列求和公式 */private int qiuhe(int i, int j){return ((i + j) * (j - i + 1)) / 2;}/** * 主要逻辑在这里 */private void action(int n){int m = n / 2 +1;for (int i = 1; i <= m; i++) {for (int j = i + 1; j <= m; j++) {i 阅读全文

posted @ 2010-05-19 19:38 台哥编程课堂 阅读(207) 评论(0) 推荐(0) 编辑

百度程序题目----连续数问题
摘要:/*题目:第一题(共四题100分):连续正整数(10分) 题目描述:一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8 请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。 输入数据:一个正整数,以命令行参数的形式提供给程序。 输出数据:在标准输出上打印出符合题目描述的全部正整数序列,每行一个序列,每个序列都从该序列的最小正整数开始、以从小到大的顺序打印。如果结 果有多个序列,按各序列的最小正整数的大小从小到大打印各序列。此外,序列不允许重复,序列内的整数用一个空格分隔。如果没有符合要求的序列 阅读全文

posted @ 2010-05-19 19:37 台哥编程课堂 阅读(401) 评论(0) 推荐(0) 编辑

1到9加减乘除得到结果等于指定值
摘要:import java.util.ArrayList;import java.util.List;import java.util.Stack;/*** 对于给出的一个数字N。* 找出从1到9这9个数字顺序加减乘除组成的算式,* 这些算式的计算结果须恰好为N!* @author tiger* @date 2010年5月19日于公司* 信手而写,极不规范。异日有暇,再行修缮。*/public class cumt {private Stack stack = new Stack();private Stack stack1 = new Stack();/** * 求算式str的结果 * str必 阅读全文

posted @ 2010-05-19 19:33 台哥编程课堂 阅读(8373) 评论(0) 推荐(0) 编辑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示