(全排列+去重)剑指 Offer 20. 表示数值的字符串

还可以刷: leetcode47 leetcode46:排列问题的写法 排列问题 leetcode40:详细讲解的去重的写法 组合问题 leetcode90:详细讲解的去重的写法 子集问题
去重一定要对元素经行排序,这样我们才方便通过相邻的节点来判断是否重复使用了。
举例去重过程: 如果要对树层中前一位去重,就用used[i - 1] == false, 如果要对树枝前一位去重用used[i - 1] == true。 对于排列问题,树层上去重和树枝上去重,都是可以的,但是树层上去重效率更高!
用输入: [1,1,1] 来举一个例子。
树层上去重(used[i - 1] == false),的树形结构如下: 树枝上去重(used[i - 1] == true)的树型结构如下: 大家应该很清晰的看到,树层上对前一位去重非常彻底,效率很高,树枝上对前一位去重虽然最后可以得到答案,但是做了很多无用搜索。

(全排列+去重)剑指 Offer 20. 表示数值的字符串最先出现在Python成神之路

版权声明:
作者:dingding
链接:https://www.techfm.club/p/8195.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>