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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

从键盘接受一个字符串,每个字母可自由匹配1-26值,求这个字符串所能达到的最大数(最完美度)

10 个回复

正序浏览
原来是这样!
回复 使用道具 举报
第一次看到这种题,学习了!
回复 使用道具 举报

你好 小老虎  我是龙儿
回复 使用道具 举报
没见过呢,看有人解答,豁然开朗
回复 使用道具 举报
pengbeilin 发表于 2015-8-24 10:11
从键盘接受一个字符串,每个字母可自由匹配1-26值,求这个字符串所能达到的最大数(最完美度)
比如输入的是aaa ...

赞一个
回复 使用道具 举报
金逗逗 发表于 2015-8-24 10:13
多谢大神,这么一说豁然开朗啊!

因为看过这个题啦帮你把思路理一理~ 其实我自己也跟着走了一遍  也是一种学习
回复 使用道具 举报
pengbeilin 发表于 2015-8-24 10:11
从键盘接受一个字符串,每个字母可自由匹配1-26值,求这个字符串所能达到的最大数(最完美度)
比如输入的是aaa ...

多谢大神,这么一说豁然开朗啊!
回复 使用道具 举报
从键盘接受一个字符串,每个字母可自由匹配1-26值,求这个字符串所能达到的最大数(最完美度)
比如输入的是aaabbcdddd
1 首先用遍历字符串,把每个字符和出现的次数存入TreeMap集合(a 3,b 2,c 1,d 4)
2 (每个字母可自由匹配1-26值,求这个字符串所能达到的最大数)
   这里想达到最大值就是 让出现次数最多了 d去匹配26 然后第二多的a去匹配25 ,b去匹配24,c匹配23
   然后26*4 + 25*3 + 24*2 + 23*1 = 等于的这个值 就是最大数

评分

参与人数 1黑马币 +2 收起 理由
金逗逗 + 2 赞一个!

查看全部评分

回复 使用道具 举报
应该是说每个字符都能替换成一个新的数字吧,然后再把替换后的数字串的可能性中取最大的那个- -这么说其实就是把最早出现的字母换成最大的那个数字。。
回复 使用道具 举报
我看懂了一点,但是还是描述的不够完整。输入的字符串肯定有长度限制的吧。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马