2021-04-21 91-数字编码-numDecoding

思想—动态规划

以前一直听说动态规划的鼎鼎大名,一直没有明确到底什么是动态规划。。。今天感觉见识到了真面目。
看到今天这个题目是动态规划思想之后,想起来以前做的那个题:一共n个台阶,一次可以走1个或2个,一共有多少种走的方式。
可能以前也有用过动态规划,但是并没有意识到是这个思想。

题目—数字编码

看到题目有一点点的思路,但是并不清晰,刷题还不够多啊。
看了别人的解析之后,写出来了,但是还是很复杂,和别人的代码一比,还是有很多可以改进的地方的:
1)我考虑的其实还是每个位置的char;但其实可以先转换成int类型,再讨论情况
而且这里转换成int,可以不用区分前一个和后一个的关系,只通过两者组合成的int的大小来判断,通过这一个转换把讨论的情况变得少了很多,简单了很多
(2)char可以做减法的,char每个都有对应的值,而且0-9是按照顺序来的,包括字母也是
(3)用数字讨论,一共有三种情况,但是可以进行简化,后者其实是前面两个条件同时满足(同时要注意else if的使用,有些情况是不能使用else if的,必须单独再写一个if)
(4)“滚动数组”优化空间!!!(万一限制空间复杂度)
(5)最前面使用 空格 作为哨兵,也可以减少讨论情况,以后也要尝试

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值