320. Generalized Abbreviation
Write a function to generate the generalized abbreviations of a word.
Example:
Given word = “word”, return the following list (order does not matter):
|
|
Backtracking
算是一道典型的回溯法的题目,做回溯法的题目,一定要先画遍历树,树画出来了,也就知道怎么写了。
用数字来代替子母,如果是生成word[start … legnth - 1]这一部分,数字可以取[0, length - start]
- 如果是0,就用当前字符word[start]
- 如果是(0, length - start),就用 i 再加上字符word[start + i]
- 如果正好等于length - start, 就直接用数字i就可以了
代码如下:
|
|
论坛里总能找到又短又elegant的代码:
|
|
Bit Manipulation
tag里还标了位操作,我也想不到怎么做。这是在论坛里找的代码,但是性能并不好,也就懒得看了。
Ref: https://discuss.leetcode.com/topic/32190/o-m-n-bit-manipulation-java
|
|