大家好,我是小冷。
上一篇了解了项目相关的知识点
接下来看下两道算法题吧,用Java解答,可能更能激发一下大脑思考。
解码方法
题目要求:
一条包含字母 A-Z 的消息通过以下映射进行了 编码 :
‘A’ -> 1’B’ -> 2…‘Z’ -> 26
要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,“11106” 可以映射为:
“AAJF” ,将消息分组为 (1 1 10 6)
“KJF” ,将消息分组为 (11 10 6)
注意,消息不能分组为 (1 11 06) ,因为 “06” 不能映射为 “F” ,这是由于 “6” 和 “06” 在映射中并不等价。
给你一个只含数字的 非空 字符串 s ,请计算并返回 解码 方法的 总数 。
题目数据保证答案肯定是一个 32 位 的整数。
示例 1:
输入:s = “12”
输出:2
解释:它可以解码为 “AB”(1 2)或者 “L”(12)。
示例 2:
输入:s = “226”
输出:3
解释:它可以解码为 “BZ” (2 26), “VF” (22 6), 或者 “BBF” (2 2 6) 。
示例
文章介绍了两道Java编程相关的算法题目,一个是解码方法,要求计算给定数字字符串的解码方式总数,另一个是天际线问题,需要根据建筑物坐标和高度构建天际线轮廓。文章提供了Java解法,涉及动态规划和优先队列数据结构。
订阅专栏 解锁全文
1777

被折叠的 条评论
为什么被折叠?



