小米算法岗笔试(求问第二题)

1.4/2
第一题设计题无妨

第二题是输入数字,求编码组合的数量
数字 1~26 -分别以英文 a~z 代表

样例:
输入:13
输出 :  2  (编码为 a c  或  m    )
我的思路是当前数字和前一位数组合结果X<=26,则dp[i] = dp[i-1]+dp[i-2]
否则dp[i] = dp[i-1],但只对了40%。 请问大佬是怎么解的。
全部评论
考虑了0也是80%
3 回复 分享
发布于 2023-09-23 17:48 江苏
我最开始的思路也是dp,也只过了40%。最后时刻,换成记忆化搜索,居然AC了。思路感觉dp一样,具体啥原因也没弄明白
2 回复 分享
发布于 2023-09-23 17:41 安徽
感觉要考虑0,比如102,只有一种
2 回复 分享
发布于 2023-09-23 17:36 福建
我的对了70%,你少考虑了一种情况就是20,10这种情况,当前必须和前一位结合,所以dp[i]=dp[i-2],但是我也没有全对,有没有大佬解答一下
2 回复 分享
发布于 2023-09-23 17:36 上海
我用回溯,过了80,但是不知道哪里有问题,自己写的用例都通过了
点赞 回复 分享
发布于 2023-09-24 00:21 陕西
除了10+20其他的都编码不了
点赞 回复 分享
发布于 2023-09-23 18:18 江苏
对于x=10和20的时候dp[i]=dp[i-2],但我只有80%不知道为啥
点赞 回复 分享
发布于 2023-09-23 17:37 上海
我到最后想到要考虑"0"在序列中的问题
点赞 回复 分享
发布于 2023-09-23 17:36 上海

相关推荐

流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务