231127 刷题日报

这周值班。。多少写道题吧,保持每天的手感。老婆给买了lubuladong纸质书,加油卷。

  1. 131. 分割回文串

写个这个吧,钉在耻辱柱上的题。

为啥没写出来:

  1. 递归树没画对

把树枝只看做是1个字母,而且不清楚树枝和节点含义:

树枝:每次的选择

节点:剩余下次可以做的选择

  1. 递归变量没写对,是水平递增走到底(走到字符串里最后一个字符,收集结果),而不是垂直递增走到底(结果里长度3,即树的深度,收集结果)

显然,这道题是要水平递增来切分字符串

这里i+1错写成start,结果就是:

debug:

start=0 i=0 str=a

start=1 i=1 str=a

start=2 i=2 str=b

collect start=3 result: [a, a, b]

start=1 i=2 str=ab

start=0 i=1 str=aa

start=1 i=1 str=a

start=2 i=2 str=b

collect start=3 result: [aa, a, b] // 这里错了,显然结果不应该是凑满3个,而是遍历完一次string 就收集一次结果

start=1 i=2 str=ab

start=0 i=2 str=aab

正确结果:

start=0 i=0 str=a

start=1 i=1 str=a

start=2 i=2 str=b

collect start=3 result: [a, a, b]

start=1 i=2 str=ab

start=0 i=1 str=aa

start=2 i=2 str=b

collect start=3 result: [aa, b]

start=0 i=2 str=aab

上面结果中如果 "start=1 i=2 str=ab" str恰好是回文是否会被添加到第二组结果中,答案不会,ab被回溯了(向上removeLast),然后才会找到aa

相关推荐
星释4 小时前
Rust 练习册 :Pythagorean Triplet与数学算法
开发语言·算法·rust
星释4 小时前
Rust 练习册 :Nth Prime与素数算法
开发语言·算法·rust
多喝开水少熬夜5 小时前
Trie树相关算法题java实现
java·开发语言·算法
WBluuue5 小时前
数据结构与算法:树上倍增与LCA
数据结构·c++·算法
bruk_spp6 小时前
牛客网华为在线编程题
算法
黑屋里的马8 小时前
java的设计模式之桥接模式(Bridge)
java·算法·桥接模式
sin_hielo8 小时前
leetcode 1611
算法·leetcode
李小白杂货铺8 小时前
识别和破除信息茧房
算法·信息茧房·识别信息茧房·破除信息茧房·算法推荐型茧房·观点过滤型茧房·茧房
来荔枝一大筐9 小时前
C++ LeetCode 力扣刷题 541. 反转字符串 II
c++·算法·leetcode
暴风鱼划水9 小时前
算法题(Python)数组篇 | 6.区间和
python·算法·数组·区间和