- 浏览: 620363 次
- 性别:
- 来自: 北京
最新评论
从列表中找到录入的后N位
结束条件
找到第一个可以使用的串
底归
选择最长路线
看一下是否大连招.
1.从列表中找到 以 XXX 结尾的所有选择
2. 结束条件
找到第一个可以使用的串
(当然原题 义不是这样的)
3.底归
找到所有可能性
4.选择最长路线
把所有可能性长度最大的那种保留下来
5.看一下是否大连招.
如果字串存在重复那么这个会一直循环下去.
每次变型都有简单的测试用例.
某天,某程序员写了关于某个功能的代码,洋洋洒洒几千行,老板看到后说,小伙子,干得不错,这么短时间能够写出这么多代码。小伙子说,再给我一个月,我可以弄到几百行。老板脸黑了。。。
然后不久的一天,这个人被炒了....
代码不多.
就这么二十几行
想看直接看懂有点小难
但真的有心看
顺着我的例子抄一遍.
我想应该能看的懂.
说明真的一点都不少.....
楼上两人我不是真对你们俩.
某天,某程序员写了关于某个功能的代码,洋洋洒洒几千行,老板看到后说,小伙子,干得不错,这么短时间能够写出这么多代码。小伙子说,再给我一个月,我可以弄到几百行。老板脸黑了。。。
然后不久的一天,这个人被炒了....
代码真没多少.....
大多数看到的是测试.....
楼主的代码我看懂了。。。。我根据图论也写了一个
代码真没多少.....
大多数看到的是测试.....
class KOFTest { @Test public final void testKoofFindOne() { KOF kof = new KOF(Arrays.asList("ABCD")); String koof = kof.koof("ABC"); Assert.assertEquals("ABCD", koof); } } public class KOF { private static final int KEYLEN = 3; static List<String> list = null ; public KOF(List<String> asList) { this.list = asList; } public String koof(String str){ for(String s : list){ // System.out.println(str.substring(str.length()-3)); // System.out.println(s.startsWith("ABC")); if(s.startsWith(str.substring(str.length()-KEYLEN))){ return s; } } return ""; } }
结束条件
找到第一个可以使用的串
@Test public final void testKoofFindNone() { KOF kof = new KOF(Arrays.asList("ABCD")); String koof = kof.koof("ABE"); Assert.assertEquals("ABE", koof); } @Test public final void testKoofFindOne() { KOF kof = new KOF(Arrays.asList("ABCD")); String koof = kof.koof("ABC"); Assert.assertEquals("ABCD", koof); } @Test public final void testKoofFindTwo() { KOF kof = new KOF(Arrays.asList("ABCD","BCDF")); String koof = kof.koof("ABCD"); Assert.assertEquals("ABCDF", koof); } public String koof(String str){ List<String> select = new ArrayList<String>(); for(String s : list){ System.out.println(str.substring(str.length()-3)); if(s.startsWith(str.substring(str.length()-3))){ select.add(s); } } System.out.println(select); for(String s : select){ return str+s.substring(s.length()-1); } return str; } }
底归
@Test public final void testKoofFindNone() { KOF kof = new KOF(Arrays.asList("ABCD")); String koof = kof.koof("ABE"); Assert.assertEquals("ABE", koof); } @Test public final void testKoofFindOne() { KOF kof = new KOF(Arrays.asList("ABCD")); String koof = kof.koof("ABC"); Assert.assertEquals("ABCD", koof); } @Test public final void testKoofFindTwo() { KOF kof = new KOF(Arrays.asList("ABCD","BCDF")); String koof = kof.koof("ABCD"); Assert.assertEquals("ABCDF", koof); } @Test public final void testKoofFindTree() { KOF kof = new KOF(Arrays.asList("ABCD","BCDE","CDEF")); String koof = kof.koof("ABCD"); Assert.assertEquals("ABCDEF", koof); } public String koof(String str){ List<String> select = new ArrayList<String>(); for(String s : list){ System.out.println(str.substring(str.length()-3)); if(s.startsWith(str.substring(str.length()-3))){ select.add(s); } } for(String s : select){ return koof(str+s.substring(s.length()-1)); } return str; }
选择最长路线
@Test public final void testKoofFindNone() { KOF kof = new KOF(Arrays.asList("ABCD")); String koof = kof.koof("ABE"); Assert.assertEquals("ABE", koof); } @Test public final void testKoofFindOne() { KOF kof = new KOF(Arrays.asList("ABCD")); String koof = kof.koof("ABC"); Assert.assertEquals("ABCD", koof); } @Test public final void testKoofFindTwo() { KOF kof = new KOF(Arrays.asList("ABCD","BCDF")); String koof = kof.koof("ABCD"); Assert.assertEquals("ABCDF", koof); } @Test public final void testKoofFindThree() { KOF kof = new KOF(Arrays.asList("ABCD","BCDE","CDEF")); String koof = kof.koof("ABCD"); Assert.assertEquals("ABCDEF", koof); } @Test public final void testKoofFindTree() { KOF kof = new KOF(Arrays.asList("ABCD","BCDF","BCDE","CDEF")); String koof = kof.koof("ABCD"); Assert.assertEquals("ABCDEF", koof); } public String koof(String str){ List<String> select = new ArrayList<String>(); for(String s : list){ System.out.println(str.substring(str.length()-3)); if(s.startsWith(str.substring(str.length()-3))){ select.add(s); } } String max = str; for(String s : select){ String temp = koof(str+s.substring(s.length()-1)); if(max.length()<temp.length()){ max=temp; } } return max; }
看一下是否大连招.
public String koof(String str){ List<String> select = new ArrayList<String>(); if(str.endsWith("EOF")){ return str; } for(String s : list){ if(s.startsWith(str.substring(str.length()-3))){ select.add(s); } } String max = str; for(String s : select){ String nextKey = str+s.substring(s.length()-1); if(str.indexOf(s.substring(1))>=0){ return str+"EOF"; } String temp = koof(nextKey); if(max.length()<temp.length()){ max=temp; } } return max; } @Test public final void testKoofFindNone() { KOF kof = new KOF(Arrays.asList("ABCD")); String koof = kof.koof("ABE"); Assert.assertEquals("ABE", koof); } @Test public final void testKoofFindOne() { KOF kof = new KOF(Arrays.asList("ABCD")); String koof = kof.koof("ABC"); Assert.assertEquals("ABCD", koof); } @Test public final void testKoofFindTwo() { KOF kof = new KOF(Arrays.asList("ABCD","BCDF")); String koof = kof.koof("ABCD"); Assert.assertEquals("ABCDF", koof); } @Test public final void testKoofFindThree() { KOF kof = new KOF(Arrays.asList("ABCD","BCDE","CDEF")); String koof = kof.koof("ABCD"); Assert.assertEquals("ABCDEF", koof); } @Test public final void testKoofFindTree() { KOF kof = new KOF(Arrays.asList("ABCD","BCDF","BCDE","CDEF")); String koof = kof.koof("ABCD"); Assert.assertEquals("ABCDEF", koof); } @Test public final void testKoofFindRound() { KOF kof = new KOF(Arrays.asList("ABCD","BCDA","CDAB","DABC")); String koof = kof.koof("ABCD"); Assert.assertEquals("ABCDABEOF", koof); }
评论
8 楼
抛出异常的爱
2010-11-26
蔡华江 写道
挨批了,,我。。
怎么来说呢,个人感觉这个题目并不是很难,当然实现起来另说了。
我以为这个代码还是好懂的,其是我只是认为文字的东西少了点,要是能直接给人思路就好了。(我是不是太啥了点)
所以我认为里面有四个字“最大路径”能抵上所有的junit测试了。。。
算法都还给老师了。。。
怎么来说呢,个人感觉这个题目并不是很难,当然实现起来另说了。
我以为这个代码还是好懂的,其是我只是认为文字的东西少了点,要是能直接给人思路就好了。(我是不是太啥了点)
所以我认为里面有四个字“最大路径”能抵上所有的junit测试了。。。
算法都还给老师了。。。
1.从列表中找到 以 XXX 结尾的所有选择
2. 结束条件
找到第一个可以使用的串
(当然原题 义不是这样的)
3.底归
找到所有可能性
4.选择最长路线
把所有可能性长度最大的那种保留下来
5.看一下是否大连招.
如果字串存在重复那么这个会一直循环下去.
每次变型都有简单的测试用例.
7 楼
蔡华江
2010-11-26
挨批了,,我。。
怎么来说呢,个人感觉这个题目并不是很难,当然实现起来另说了。
我以为这个代码还是好懂的,其是我只是认为文字的东西少了点,要是能直接给人思路就好了。(我是不是太啥了点)
所以我认为里面有四个字“最大路径”能抵上所有的junit测试了。。。
算法都还给老师了。。。
怎么来说呢,个人感觉这个题目并不是很难,当然实现起来另说了。
我以为这个代码还是好懂的,其是我只是认为文字的东西少了点,要是能直接给人思路就好了。(我是不是太啥了点)
所以我认为里面有四个字“最大路径”能抵上所有的junit测试了。。。
算法都还给老师了。。。
6 楼
抛出异常的爱
2010-11-26
cupid04 写道
蔡华江 写道
楼主写的代码蛮好看的,就是说明太少了,看得累。。
某天,某程序员写了关于某个功能的代码,洋洋洒洒几千行,老板看到后说,小伙子,干得不错,这么短时间能够写出这么多代码。小伙子说,再给我一个月,我可以弄到几百行。老板脸黑了。。。
然后不久的一天,这个人被炒了....
代码不多.
就这么二十几行
想看直接看懂有点小难
但真的有心看
顺着我的例子抄一遍.
我想应该能看的懂.
说明真的一点都不少.....
楼上两人我不是真对你们俩.
public String koof(String str){ List<String> select = new ArrayList<String>(); if(str.endsWith("EOF")){ return str; } for(String s : list){ if(s.startsWith(str.substring(str.length()-3))){ select.add(s); } } String max = str; for(String s : select){ String nextKey = str+s.substring(s.length()-1); if(str.indexOf(s.substring(1))>=0){ return str+"EOF"; } String temp = koof(nextKey); if(max.length()<temp.length()){ max=temp; } } return max; }
5 楼
cupid04
2010-11-26
蔡华江 写道
楼主写的代码蛮好看的,就是说明太少了,看得累。。
某天,某程序员写了关于某个功能的代码,洋洋洒洒几千行,老板看到后说,小伙子,干得不错,这么短时间能够写出这么多代码。小伙子说,再给我一个月,我可以弄到几百行。老板脸黑了。。。
然后不久的一天,这个人被炒了....
4 楼
leon_a
2010-10-11
抛出异常的爱 写道
引用
问答题似乎题目都蛮长的。最后一道讲的是KOF哦。题目大概是:
玩过KOF(拳皇)的人都知道,玩的时候会连招是比较强的(polaris也玩过,不过不会连招,呵呵)。题目的大概意思是:每招用一个大写字母表 示,如ABC...Z,现给定n个连招公式:S→T,其中S长度为m,T的长度为1。在前m招的时候可以随便连,但m+1招后就必须遵循连招公式。现在要 写一个算法,计算最长连招的长度;如果可以无限连招,则返回def。1≤n,m≤100
给了一个例子:n=4,m=3,连招公式为:ABC→C,ABC→D,CCA→A,BCA→B(最后一个连招公式忘了,记在纸上落在住处了,晚上改 改,不过应该不影响理解)。连招公式的意思是:A、B、C可以连出C,也可连出D,C、C、A可以连出A,B、C、A、可以连出B。这时候可以得到最长连 招公式:ABC→C→A→A,即最长连招公式长度为6。
题目要求给出算法思想并结合一定的伪码。
玩过KOF(拳皇)的人都知道,玩的时候会连招是比较强的(polaris也玩过,不过不会连招,呵呵)。题目的大概意思是:每招用一个大写字母表 示,如ABC...Z,现给定n个连招公式:S→T,其中S长度为m,T的长度为1。在前m招的时候可以随便连,但m+1招后就必须遵循连招公式。现在要 写一个算法,计算最长连招的长度;如果可以无限连招,则返回def。1≤n,m≤100
给了一个例子:n=4,m=3,连招公式为:ABC→C,ABC→D,CCA→A,BCA→B(最后一个连招公式忘了,记在纸上落在住处了,晚上改 改,不过应该不影响理解)。连招公式的意思是:A、B、C可以连出C,也可连出D,C、C、A可以连出A,B、C、A、可以连出B。这时候可以得到最长连 招公式:ABC→C→A→A,即最长连招公式长度为6。
题目要求给出算法思想并结合一定的伪码。
代码真没多少.....
大多数看到的是测试.....
楼主的代码我看懂了。。。。我根据图论也写了一个
3 楼
leon_a
2010-10-11
http://leon-a.iteye.com/blog/779558
2 楼
抛出异常的爱
2010-09-29
引用
问答题似乎题目都蛮长的。最后一道讲的是KOF哦。题目大概是:
玩过KOF(拳皇)的人都知道,玩的时候会连招是比较强的(polaris也玩过,不过不会连招,呵呵)。题目的大概意思是:每招用一个大写字母表 示,如ABC...Z,现给定n个连招公式:S→T,其中S长度为m,T的长度为1。在前m招的时候可以随便连,但m+1招后就必须遵循连招公式。现在要 写一个算法,计算最长连招的长度;如果可以无限连招,则返回def。1≤n,m≤100
给了一个例子:n=4,m=3,连招公式为:ABC→C,ABC→D,CCA→A,BCA→B(最后一个连招公式忘了,记在纸上落在住处了,晚上改 改,不过应该不影响理解)。连招公式的意思是:A、B、C可以连出C,也可连出D,C、C、A可以连出A,B、C、A、可以连出B。这时候可以得到最长连 招公式:ABC→C→A→A,即最长连招公式长度为6。
题目要求给出算法思想并结合一定的伪码。
玩过KOF(拳皇)的人都知道,玩的时候会连招是比较强的(polaris也玩过,不过不会连招,呵呵)。题目的大概意思是:每招用一个大写字母表 示,如ABC...Z,现给定n个连招公式:S→T,其中S长度为m,T的长度为1。在前m招的时候可以随便连,但m+1招后就必须遵循连招公式。现在要 写一个算法,计算最长连招的长度;如果可以无限连招,则返回def。1≤n,m≤100
给了一个例子:n=4,m=3,连招公式为:ABC→C,ABC→D,CCA→A,BCA→B(最后一个连招公式忘了,记在纸上落在住处了,晚上改 改,不过应该不影响理解)。连招公式的意思是:A、B、C可以连出C,也可连出D,C、C、A可以连出A,B、C、A、可以连出B。这时候可以得到最长连 招公式:ABC→C→A→A,即最长连招公式长度为6。
题目要求给出算法思想并结合一定的伪码。
代码真没多少.....
大多数看到的是测试.....
1 楼
蔡华江
2010-09-29
楼主写的代码蛮好看的,就是说明太少了,看得累。。
发表评论
-
vlc 必要的参数
2021-08-31 17:18 0vlc.exe -vvv -Idummy "rt ... -
grafana+mysql 页面设计
2019-02-25 08:51 0前提 1。主要是SELECT 。 2。使用mysql ... -
测试用例到底怎么才值的写
2016-04-30 10:32 0有个方法是这样的 public function ... -
postman cookies登陆设置
2016-04-28 09:30 1990必须登陆才能测试的接口如何测试? 打开这个开关就可以共用coo ... -
将png 切成ios android能用的格式
2016-04-28 01:24 696由于要求不高找了个在线切图的工具 http://images. ... -
如何在原有系统中加入功能(一数据库)
2016-04-24 11:06 777第一步想办法把建表语句导入一powerdesginer ... -
php递归 格式化 数字类型
2016-04-20 12:35 750/** * 数字转日期递归 ... -
freemind 怎么处理成为word
2015-06-11 19:37 16写文章用freemind打了一个草稿. 先导出成为htm ... -
架构师之路(工欲善其事,必先利其器)纸牌屋
2014-03-27 06:48 0起因:小胖的一个征集实现过程 https://gist.git ... -
油猴对抗一般广告
2012-11-14 00:07 1840看小说 好多好多的广告是必然的.. 所以 去掉iframe 去 ... -
回答一些很有共性的东西
2011-02-24 21:24 5525我作软件第二第三年时 ... -
粗糙的object打印日志用....
2010-11-04 18:40 2130function logJquery(o){ ... -
一个activeX方法 刚刚发现
2010-09-14 19:14 1477解答:此题 http://www.iteye.com/prob ... -
[反例]超短代码,意义不明
2010-08-19 17:49 1528public String logout(HttpServl ... -
站读帝
2010-07-26 09:29 1272http://www.hudong.com/wiki/%E7% ... -
不要重复发明轮子
2010-07-06 17:20 2124一直以为不要重复发明轮子的意义很简单. 今天看了人件.... ... -
答复: 不用判断语句求俩数中的大(或者小)数
2010-05-31 12:55 2075跳大神也是一种艺术: public class MaxMin ... -
集合合并
2010-05-28 10:15 1910用于时间表的合并 时间段的合并工作. public cla ... -
删除重名的记录
2010-04-05 23:04 1897面试看到这种题。。。。。 我估计考官的正确答案有可能是错的 所 ... -
从前有个迷宫__面试题
2009-12-15 13:41 2786所有的代码不包括测试. package com.mao.u ...
相关推荐
拳皇97键盘出招表
KOF97全人物出招表,从网上搜集的,做成chm格式,希望对喜欢KOF的人有用。
拳皇游戏音效(包含启动,KO音效).zip
97拳皇键盘出招表带图.doc
Unity3d 拳皇类大型3D格斗游戏源码 街机对战游戏项目 整个项目的完整压缩包 , 直接打开就行 , 无需其他操作 适合二次开发和学习使用 , 如果有问题请切换编译器 或者下载最新编译器 Unity街机游戏源码 Unity3d 拳皇...
拳皇 - 人物动作素材图 61种 素材提取自《拳皇MUGEN高AI版【2013】》 压缩包中目前为对应人物的动作图【Png格式】,方便二次使用。 时间有限,先放上这些,后续会将已经有的全部提取出来。后续有可能会将配音对应...
拳皇 - 人物动作素材图 【比利】 ============== 【说明】 素材提取自《拳皇MUGEN高AI版【2013】》 压缩包中目前为对应人物的动作图【Png格式】,方便二次使用。 时间有限,先放上这些,后续会将已经有的全部提取...
html拳皇代码,便于用户学习,给你完全,欢迎收藏
用于游戏开发,游戏设计,如果运用于商业用途,请联系本人
97拳皇键盘出招表带图很不错的.doc
没有解压密码,亲测可用.这个是拳皇wingEX图形音乐资源包.里面有拳皇
文字游戏:拳皇源代码和可运行程序,基于C语言开发
97拳皇键盘出招表带图(很不错的).doc
拳皇人物绝对电脑键盘出招表带图.pdf
从拳皇13游戏中提取的全量游戏特效图片,png去底图片帧,非常适合用于格斗类游戏创作的素材来源
作者:TCS~T 技术支持:2827445707 用C++实现的Win32拳皇,有燃火的背景动图,Q W E 3个按键技能,再加上战斗的音乐.一下子感觉燃起来了.
96-2003拳皇人物合集.zip
vb 编写的拳皇 游戏源代码
拳皇97人物绝对电脑键盘出招表带图.doc