【Leetcode Daily】2266统计打字方案数
题目浅析
想查看原题可以点击题目链接。
简单地说,就是给一串打字的按键记录(手机九宫格),请给出这些打字记录可以显现出来的字符串方案个数。
思路分享
如果只是但看一种数字串的组合方案,就很容易发现这是根据字母个数固定的(3或4)。对每一段连续数字,都可以用 dfs 遍一下。为什么不会因重复超时?因为即使是不同种数字,只要数量相同和字母个数相同,那么组合出的方案也相同。
本题最重要的是学到了用 groupby 函数可以把列表中的一段段同种数字整合成一个个值与对应的迭代器,注意,迭代器一旦使用就不可逆,所以要么就使用一次(下面就是只是用了一次量长度),要么就保存到另一个变量使用。
代码解答(强烈建议自行解答后再看)
- 参考题解
1 | class Solution: |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 LuYaoQi's Blogs!