A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xpaibeyond   /  2014-9-11 10:31  /  2546 人查看  /  23 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

迷失的独白 发表于 2014-9-12 17:55
bbbbcacbbabccabbbcabccaccbccaccbaaaabcbabaaacbbbbccabaccbcbccabacaaaccaaabbaaabcabacbabbbabababaabba ...

题目详情
给定一个字符串,仅由a,b,c 3种小写字母组成。当出现连续两个不同的字母时,你可以用另外一个字母替换它,如

有ab或ba连续出现,你把它们替换为字母c;
有ac或ca连续出现时,你可以把它们替换为字母b;
有bc或cb 连续出现时,你可以把它们替换为字母a。
你可以不断反复按照这个规则进行替换,你的目标是使得最终结果所得到的字符串尽可能短,求最终结果的最短长度。

      这是原题,我觉得我叙述得比它没什么区别吧。。     不管是顺序替换,还是选择替换,最终的目的是让任何一个字符串参与运算后都能变得尽可能的短。   
回复 使用道具 举报
xpaibeyond 发表于 2014-9-12 19:20
题目详情
给定一个字符串,仅由a,b,c 3种小写字母组成。当出现连续两个不同的字母时,你可以用另外一个字 ...

我想问,你这道题全吗?
还是说,你参照网上的方法了?
网上的题可是有这么几句的
{
输入:字符串。长度不超过200,仅由abc三种小写字母组成。
输出:按照上述规则不断消除替换,所得到的字符串最短的长度。

例如:
        输入cab,输出2。因为我们可以把它变为bb或者变为cc。
        输入bcab,输出1。尽管我们可以把它变为aab -> ac -> b,也可以把它变为bbb,但因为前者长度更短,所以输出1。
}
如果是按照网上的这种题目做的话,你的方法无可厚非
如果不是,你这是坑啊!
回复 使用道具 举报
迷失的独白 发表于 2014-9-12 19:37
我想问,你这道题全吗?
还是说,你参照网上的方法了?
网上的题可是有这么几句的

   :L:L, 本来就是这个题,     我描述的跟网上的有很大差别???  
回复 使用道具 举报
xpaibeyond 发表于 2014-9-12 20:10
, 本来就是这个题,     我描述的跟网上的有很大差别???

你这就是坑啊!
你少了个举例,题意就差嗨了
而且我一般都是先写,写完了才去网上看别人怎么做的。
如果是按照网上的例子去做,这道题就简单多了
我也不至于......:'(:'(:'(
回复 使用道具 举报
不会java 发表于 2014-9-12 16:17
写的比较仓促 有点乱, 不过可以用.

:handshake    不错, 要是有点注释读起来就更顺畅了。
回复 使用道具 举报
你这看着怎么那么像LZW编码。。。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马