关于LC91题的吐槽

来源:9-3 发现重叠子问题 Integer Break

软件工程小白菜

2020-06-10

老师你好,关于LC91题Decode ways,使用动态规划的方法,需要处理好多边界情况(0的各种边界,0打头的情况,不在1-26的各种边界,等等)。我独立完成花了2个多小时调试以及处理边界情况,实属头疼。


总感觉这已经不是一道medium的题目了,自己很难想到什么1212,2020等等的情况。想请教老师做这种边界情况多的题,有没有什么经验可以分享?


多谢老师。

写回答

1回答

liuyubobobo

2020-06-10

关于边界问题,我唯一的分享就是:


1)确定每个变量的定义

2)确立循环不变量

(这两点可以参考这个课程 3-1,3-2 的介绍)

3)确立函数的语义

(参考我所有课程中对递归的介绍)


在这些“理论”的东西都明确的情况下,就是要大量练习,积累经验了。两个小时调通一道题实在是正常的,甚至都算是快的:)


不过我看了一下,这个问题的代码似乎没有这么复杂?看一下我的参考代码,再看看你的代码是否有可以优化的地方?https://github.com/liuyubobobo/Play-Leetcode/tree/master/0091-Decode-Ways/cpp-0091


继续加油!:)


2
5
软件工程小白菜
回复
liuyubobobo
好的,谢谢老师,我微信名是Frank
2020-06-12
共5条回复

玩转算法面试-- Leetcode真题分门别类讲解

课程配套大量BAT面试真题,高频算法题解析,强化训练

7410 学习 · 1150 问题

查看课程