算法相关
JavaSxy
这个作者很懒,什么都没留下…
展开
-
利用正则式计算表达式的值
RT,最近又看了下JAVA的正则式,解决了之前对JAVA中正则式的一些疑问.写了个利用正则式计算表达式值的代码.算法很简单,就是"先乘除,后加减,有括号先算括号里的"ps:当然,计算表达式值最常用也最有效的方法是利用逆波兰式,这儿只是拿正则式来练练手.程序没有经过严谨的测试,可能有bug.java 代码import java.util.regex.*; impor...2007-02-26 14:00:24 · 216 阅读 · 0 评论 -
《程序员》2007第十期算法擂台之JAVA解法
题目:[quote]人和计算机做猜数游戏.人默想一个四位数,由计算机来猜.计算机将所猜的数据显示到屏幕上,并问两个问题:一,有几个数字猜对了;二,猜对的数字中有几个位置也对了.人通过键盘来回答这两个问题。计算机一次又一次地猜,直到猜对位置。 为了简化输入输出,计算机每次输出一个四位数,然后人输入两个用空格分开的数,分别表示有几个数字猜对,有几个数字位置也对。下面有某次猜...2007-10-15 23:46:43 · 320 阅读 · 0 评论 -
《程序员》2007第九期之算法擂台
原题:在8*8的棋盘上分布着n个骑士,他们想约在某一格中聚会.骑士每天可以像国际象棋中的马那样移动一次.请你计算n个骑士的最早聚会地点和要走多少天.要求尽早聚会,且n个人走的总步数最少,先到的骑士可以不再移动等待其它骑士.输入:从键盘输入n(0<n<=64),然后依次输入n个骑士的初始位置xi,yi(0<=xi,yi<=7)输出:以空格分隔的三个整数,分别为聚会点的x,y值,以及要...2007-09-16 00:42:43 · 190 阅读 · 0 评论 -
《程序员》2007第八期之算法擂台
[color=pink]题目描述(手头没书,不知道有没有记错):[/color][color=green]有v个在一条直线上的村庄,要在其中的p个村庄上修建邮局。每个村庄将会选择离其最近的村庄收发邮件。现在要选择这p个邮局的修建地址,使得这v个村庄到邮局的总路程尽可能少。[/color][color=orange]输入:首先是两个正整数v,p,表示村庄个数与邮局个数。 然后是v个...2007-08-19 19:55:23 · 144 阅读 · 0 评论 -
一个关于字符串操作的算法题
最近在网上看到一道关于字符串操作的算法题,不过原题的表述以及给出的数据都有问题.这里我给出修正后的题目:题目:设计一个方法 String encode(String str),对字符串str进行如下转换操作为一个新字符串: 逐个扫描str的每个字符, 1.若当前字符为'_',则添加"\UL"到新字符串; 否则: 2.若当前字符...2007-08-01 19:46:50 · 221 阅读 · 0 评论 -
二维点集的凸包及其直径(1)
前言:因为前几天做了一个有关凸包的题,并答应crackerwang写个blog解释一下我的算法.因为我比较懒的原因,一直拖到现在才写.预计一共有两篇,第一篇介绍求二维点集凸包的O(N*logN)时间复杂度的算法.第二篇介绍求凸包直径的O(N)时间复杂度的算法.下面首先给出http://acm.tju.edu.cn/toj/showp2847.html该题的C++代码,本文将使用Java...2007-06-21 18:11:21 · 711 阅读 · 0 评论 -
程序员2007年3月刊上的一道算法题
晚上无聊的时候把以前的<程序员>杂志拿出来see see,于是就看到了这个算法题.这文章之前也看过,但当时稍微想了一下就溜过去了.今天看的时候突然产生了一些疑问,于是动手写了几行代码测试了下,结果发现文章中的说法并不完全対. 哦,讲了这么久,忘了说这个题在杂志的第65页的第二题. 注意:原文并没有给出最优策略的定义,我这儿根据原文的意思考...2007-05-05 23:16:24 · 131 阅读 · 0 评论 -
几个经典的博弈问题
有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理。下面我们来分析一下要如何才能够取胜。(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。 显然,如果...原创 2007-03-26 18:34:56 · 544 阅读 · 0 评论 -
求1~N中1出现的次数的递归算法
在网上看到的一个算法题,据说是某个大公司的面试题。题目如下:给出一个数n,求1到n这些数中1出现的次数 这个题是典型的用递归算法来解决的,代码如下:java 代码import java.math.BigInteger; import java.util.*; /** *求1到N这些数中1出现的次数 *@autho...2007-03-14 17:02:36 · 594 阅读 · 0 评论 -
使用基于邻接表的Dijkstra算法求解Project Euler问题
[color=black][b][size=medium]Project Euler中的几个问题[/size][/b][/color] 首先,来看一看[url=http://projecteuler.net]Project Euler[/url]上的第81到83题。这几个题目的前提条件是一样的,已知一个[url=http://projecteuler.net/project/matrix...2008-10-04 21:56:25 · 262 阅读 · 0 评论