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

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

相关推荐

不愿透露姓名的神秘牛友
11-27 10:46
点赞 评论 收藏
分享
头像
11-09 17:30
门头沟学院 Java
TYUT太摆金星:我也是,好几个华为的社招找我了
点赞 评论 收藏
分享
冲芭芭拉鸭:你这图还挺新,偷了。
投递美团等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
1
分享
牛客网
牛客企业服务