
算法学习
文章平均质量分 60
徐刘根
微信关注公众号:Java后端技术(ID:JavaITWork),和20万人一起学习Java!
"Java后端技术"微信公众号专注Java相关技术:SSM、Spring全家桶、微服务、MySQL、MyCat、集群、分布式、中间件、Linux、网络、多线程,偶尔讲点运维Jenkins、Nexus、Docker、ELK,偶尔分享些技术干货,致力于Java全栈开发!
展开
-
2013蓝桥杯 前缀判断 【初赛试题】
前缀判断如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。比如:"abcd1234" 就包含了 "abc" 为前缀 char* prefix(char* haystack_start, char* needle_start){ char* haystack = haystack_start; cha原创 2014-03-20 13:30:32 · 1664 阅读 · 0 评论 -
Java算法试题--猜字母/杀人游戏
题目如下:把abcd…s共19个字母组成的序列重复拼接106次,得到长度为2014的串。接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容。public class 猜字母 { public static void m原创 2015-03-18 20:27:55 · 2865 阅读 · 0 评论 -
如何用10只实验鼠检验出1000个药瓶中哪个有毒药?
当我第一次看到这个面试题的时候,也不知道从何处下手,但在别人的提示下,我才明白了! 如果你看到这个题目,能够立即想到2 的 10 次方 = 1024.那你已经知道答案了! 原题的描述是:给你10只实验小鼠,用7天的时间检验1000个瓶子中带有一瓶毒药的瓶子是哪一瓶,小鼠喝了毒药7天后才会死亡,如何编程实现? 这是二进制数的一个应用,如果你不明白白,请看下面简单点转载 2014-03-21 13:46:10 · 2948 阅读 · 0 评论 -
Java算法--串的简单处理
题目如下:串的处理 在实际的开发工作中,对字符串的处理是最常见的编程任务。 本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1. 把每个单词的首字母变为大写。 2. 把数字与字母之间用下划线字符(_)分开,使得更清晰 3. 把单词中间有多个空格的调整为1个空格。 例如: 用户输入: you and me what cpp2005program 则程序输出: Y原创 2015-04-01 09:16:37 · 2770 阅读 · 0 评论 -
【数据结构】递归求解迷宫问题
数据结构 递归求解迷宫问题参考代码如下:/* 名称:递归求解迷宫问题 编译环境:VC++ 6.0 日期: 2014年4月1日*/#include#include// 迷宫坐标位置类型struct PosType { int x; // 行值 int y; // 列值 };#define MAXLENGTH 25 // 设迷宫的最大行列为25 typedef原创 2014-04-01 18:41:14 · 7902 阅读 · 1 评论 -
【数据结构】八皇后
八皇后经典的一个算法问题-八皇后,不说了上码!!/* 名称:八皇后 语言:数据结构C语言版 编译环境:VC++ 6.0 日期:2014-3-25 */#include #include #include static char Queen[8][8];static int a[8];static int b[15];static int c[原创 2014-03-25 19:43:25 · 2274 阅读 · 0 评论 -
Java产生900个1到1000不重复的随机数
这是一到2015年阿里巴巴的笔试试题,题目就是输出900个1-1000的不重复的随机数,代码如下:public class RandomTest{ public static void main(String[] args){ int[] result = RandomTest.randomNumber(1,1000,900); for(int k =0 ;k<原创 2015-04-06 09:09:55 · 10701 阅读 · 5 评论 -
Java算法-第一个数字
/** * 以下的静态方法实现了:把串s中第一个出现的数字的值返回。 * * 如果找不到数字,返回-1 例如: * s = "abc24us43" 则返回2 * s ="82445adb5" 则返回8 * s = "ab" 则返回-1 * * 以下的静态方法实现了:把串s中第一个出现的数字的值返回。 * */public class 第一个数字 { pub原创 2015-04-12 19:54:06 · 2624 阅读 · 0 评论 -
Java算法-括号问题
下面的代码用于判断一个串中的括号是否匹配所谓匹配是指不同类型的括号必须左右呼应,可以相互包含,但不能交叉例如: ..(..[..]..).. 是允许的; ..(…[…)….]…. 是禁止的对于 main 方法中的测试用例,应该输出: false true false falsepublic class 括号问题 { public static boolean isGoodBracket(St原创 2015-04-09 14:47:26 · 2194 阅读 · 0 评论 -
Java算法-扑克牌排列
/** * 下面代码模拟了一套扑克牌(初始排序A~K,共13张)的操作过程。 * * 操作过程是: 手里拿着这套扑克牌,从前面拿一张放在后面,再从前面拿一张放桌子上,再从前面拿一张放在后面,.... * * 如此循环操作,直到剩下最后一张牌也放在桌子上。 下面代码的目的就是为了求出最后桌上的牌的顺序。 初始的排列如果是A,2,3...K,则最后桌上的顺序为: * [2, 4, 6,原创 2015-04-09 20:49:35 · 6903 阅读 · 1 评论 -
猴子分桃子问题
题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?import java.util.Scanner;public class MonkeyDemo { public st原创 2015-09-18 21:11:46 · 4389 阅读 · 0 评论 -
Z字形编排问题-Java实现
背景Z字形编排过程大致是这样的:经过前期处理的图像被分为若干个 的小图像块,此时就从小图像块的左上角开始沿Z字形对图像元素进行遍历,并将遍历所得的结果重新写入等大小的图像块中经过Z自行排列之后,原图像矩阵中的序号变为如下图所示:总结规律对于原始矩阵matrix中的任意元素matrix[i][j]的遍历走向规律可以分为如下三种情况(偶数情况下)1、如果二维数组中的元素matrix[i][j]中纵坐标j原创 2016-08-18 21:39:16 · 4471 阅读 · 0 评论 -
Java算法-奇怪的分式
题目:上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出所有不同算式的个数(包括题中举例的)。 显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要原创 2015-03-18 21:23:34 · 2659 阅读 · 0 评论 -
2013蓝桥杯 画表格 【模拟赛】
画表格在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。比如: ┌─┬─┐│ │ │├─┼─┤│ │ │└─┴─┘其实,它是由如下的符号拼接的:左上 = ┌上 = ┬右上 = ┐左 = ├中心 = ┼右 = ┤左下= └下 = ┴右下 = ┘垂直 = │水平 = ─原创 2014-03-20 13:38:36 · 1719 阅读 · 0 评论 -
2011 蓝桥杯 购物计划 【初赛试题】
购物计划公司发了某商店的购物券1000元,限定只能购买店中的m种商品。每种商品的价格分别为m1,m2,…,要求程序列出所有的正好能消费完该购物券的不同购物方法。程序输入: 第一行是一个整数m,代表可购买的商品的种类数。 接下来是m个整数,每个1行,分别代表这m种商品的单价。程序输出: 第一行是一个整数,表示共有多少种方案原创 2014-03-20 20:31:53 · 2181 阅读 · 0 评论 -
2013年蓝桥杯 猜年龄
猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。 一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说: “我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。” 请你推算一下,他当时到底有多年轻。思路点拨:最常见的原创 2014-03-21 11:52:44 · 5177 阅读 · 1 评论 -
蓝桥杯 找素数
找素数 素数就是不能再进行等分的整数。比如:7,11。而9不是素数,因为它可以平分为3等份。一般认为最小的是2,接着是3,5......请,第100005(十万零二)个素数是多少?请注意:“2”是第一个素数,“3”是第二个素数,以此类推。参考代码如下:#include#include//判断是否素数 int check(int n){ for(i原创 2014-03-21 13:16:26 · 3419 阅读 · 0 评论 -
2012 蓝桥杯 放棋子 【初赛试题】
放棋子今有 6 x 6的棋盘格。其中某些格子已经预先放好了棋子。现在要再放上去一些,使得:每行每列都正好有3颗棋子。我们希望推算出所有可能的放法。下面的代码就实现了这个功能。棋盘如下:初始数组中,“1”表示放有棋子,“0”表示空白。原题如下:#include #include using namespa原创 2014-03-20 13:59:59 · 1883 阅读 · 0 评论 -
2012 蓝桥杯 大数乘法 【初赛试题】
大数乘法 对于32位字长的机器,大约超过20亿,用int类型就无法表示了,我们可以选择int64类型,但无论怎样扩展,固定的整数类型总是有表达的极限!如果对超级大整数进行精确运算呢?一个简单的办法是:仅仅使用现有类型,但是把大整数的运算化解为若干小整数的运算,即所谓:“分块法”。 如下图,表示了分块乘法的原理。可以把大数分成多段(此处为2段)小数,然后用小数的多次运算组原创 2014-03-20 19:51:16 · 2144 阅读 · 1 评论 -
2012 蓝桥杯 星期几 【决赛试题】
星期几 1949年的国庆节(10月1日)是星期六。 今年(2012)的国庆节是星期一。 那么,从建国到现在,有几次国庆节正好是星期日呢? 只要答案,不限手段! 可以用windows日历,windows计算器,Excel公式,。。。。。 当然,也可以编程! 不要求写出具体是哪些年,只要一个数目! 千万不要提交源代码!原创 2014-03-21 16:33:21 · 1745 阅读 · 0 评论 -
2011蓝桥杯 画上三角 【初赛试题】
方阵的主对角线之上称为“上三角”。请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。例如:当n=3时,输出:1 2 36 45当n=4时,输出:(注:试题中是不要求输出网格和背景的 只是为了说明问题 )当n=6时,输出:程序运行时,原创 2014-03-21 18:23:16 · 2118 阅读 · 0 评论 -
2012年蓝桥杯 猜生日 【初赛试题】
猜生日 今年的植树节(2012年3月12日),小明和他的叔叔还有小伙伴们一起去植树。休息的时候,小明的同学问他叔叔多大年纪,他叔叔说:“我说个题目,看你们谁先猜出来!” “把我出生的年月日连起来拼成一个8位数(月、日不足两位前补0)正好可以被今天的年、月、日整除!” 他想了想,又补充到:“再给个提示,我是6月出生的。” 根据这些信原创 2014-03-21 19:51:47 · 2723 阅读 · 3 评论 -
2014届第五届蓝桥杯 C语言本科B组试题
2014届第五届蓝桥杯 C语言本科B组试题最新一届的考试试题,需要的到这个地址下载吧!这可是本人在考试的时候冒死给大家拷贝过来的!http://download.csdn.net/detail/u010870518/7086201原创 2014-03-23 17:54:49 · 2859 阅读 · 0 评论 -
幸运数 算法比赛
幸运数问题描述幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。首先从1开始写出自然数1,2,3,4,5,6,....1 就是第一个幸运数。我们从2这个数开始。把所有序号能被2整除的项删除,变为:1 _ 3 _ 5 _ 7 _ 9 ....把它们缩紧,重新记序,为:1 3 5 7 9 .... 。这时,3为第2个幸运数,然后把所有能被3整除的序号位置的数删去。注原创 2014-03-21 13:32:34 · 4711 阅读 · 1 评论 -
2012 蓝桥杯 第39级台阶 【初赛试题】
标题: 第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢? 请你利用计算机的优势,帮助小明寻找答案。原创 2014-03-09 10:20:26 · 2639 阅读 · 0 评论 -
什么是一致性Hash算法?
最近有小伙伴跑过来问什么是Hash一致性算法,说面试的时候被问到了,因为不了解,所以就没有回答上,问我有没有相应的学习资料推荐,当时上班,没时间回复,晚上回去了就忘了这件事,今天突然看到这个,加班为大家整理一下什么是Hash一致性算法,希望对大家有帮助!经常阅读我文章的小伙伴应该都很熟悉我写文章的套路,上来就是先要问一句为什么?也就是为什么要有Hash一致性算法?就像以前介绍为什么要有Spri...原创 2018-03-13 21:15:32 · 18428 阅读 · 10 评论