231127 刷题日报

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

1. 131. 分割回文串

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

为啥没写出来:

1. 递归树没画对

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

        树枝:每次的选择

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

2. 递归变量没写对,是水平递增走到底(走到字符串里最后一个字符,收集结果),而不是垂直递增走到底(结果里长度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
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值