博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
320 Generalized Abbreviation
阅读量:4566 次
发布时间:2019-06-08

本文共 970 字,大约阅读时间需要 3 分钟。

/*     * 320 Generalized Abbreviation      * 2016-7-6 by Mingyang      * 我一开始按照自己的方法去做,111a,这种只是每个位数上面替代成1,然后最后再把相连的数加起来     * 但是后面发现这个方法太麻烦了,参考了网上的解法:     * 对于每一个char,我们要么留着,要么变为数字,那位为了留着,我们加到现在的current里面,继续dfs     * 如果变数字,我们count++,当我们到最后的时候如果count!=0或者需要加char的时候     * 检查count是否为0,不为0就把数字粘上去,然后变为0     */    public static List
generateAbbreviations(String word) { List
ret = new ArrayList
(); dfs1(ret, word, 0, "", 0); return ret; } private static void dfs1(List
ret, String word, int pos, String cur, int count) { if (pos == word.length()) { if (count > 0) cur += count; ret.add(cur); } else { dfs1(ret, word, pos + 1, cur, count + 1); dfs1(ret, word, pos + 1, cur + (count > 0 ? count : "") + word.charAt(pos), 0); } }

 

转载于:https://www.cnblogs.com/zmyvszk/p/5648849.html

你可能感兴趣的文章
Shell成长之路
查看>>
vim下正则表达式的非贪婪匹配
查看>>
一个python的计算熵(entropy)的函数
查看>>
spring源码学习——spring整体架构和设计理念
查看>>
模拟window系统的“回收站”
查看>>
OpenCV中的split函数
查看>>
MongoDB divide 使用之mongotempalte divide
查看>>
SSH不允许进行DNS解析
查看>>
Git(介绍和安装)
查看>>
磁盘管理
查看>>
重写与重载
查看>>
Python 爬取qqmusic音乐url并批量下载
查看>>
Java代码获取spring 容器的bean几种方式
查看>>
2015年3月5日(元宵节)——substr()与substring()的区别
查看>>
mysql 导出查询结果到文件
查看>>
Js参数值中含有单引号或双引号解决办法
查看>>
python5
查看>>
js转换/Date(........)/
查看>>
mysql中limit用法
查看>>
C#开源爬虫NCrawler源代码解读以及将其移植到python3.2(1)
查看>>