【LeetCode-每日一题】-面试题46. 把数字翻译成字符串

简介: 【LeetCode-每日一题】-面试题46. 把数字翻译成字符串

1. 题目描述

给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。

示例 1:

输入: 12258

输出: 5

解释: 12258有5种不同的翻译,分别是"bccfi", “bwfi”, “bczi”, “mcfi"和"mzi”

2. 题目分析

  1. 这个题目类型和跳台阶差不多,一阶或者两阶的跳,求到N阶有多少种方法
  2. 对于12258来说,可拆分为以下几部分:1 2 2 5 8 、 12 2 5 8 、 12 25 8 、1 22 5 8 、1 2 25 8
  3. 相当于从1开始往后跳,一个数或者两个数(注意取值范围 0~25)
  4. 当前如果是N阶的话,可以F(n - 1) + 1或者F(n - 2)+2
    F(n) = F(n-1) + F(n-2);
    这里需要注意一下,当前获取的数字只有在10~25之间才是有效的,否则是无效的

3. 题目代码

class Solution {
   public static int translateNum(int num) {
    // 将num转为String类型
    String string = String.valueOf(num);
    // 如果当前的数字小于10的话,证明只有一种结果,直接返回1
    if (num < 10) {
      return 1;
    }
    int[] dp = new int[string.length() + 1];
    dp[0] = 1;
    dp[1] = 1;
    for (int i = 2; i < string.length(); i++) {
      String x = string.substring(i - 2, i);
      if (x.compareTo("10") >= 0 && x.compareTo("25") <= 0) {
        dp[i] = dp[i - 1] + dp[i - 2];
      } else {
        dp[i] = dp[i - 1];
      }
    }
    return dp[string.length() - 1];
  }


相关文章
|
10天前
|
存储 Go 开发者
Golang深入浅出之-Go语言字符串操作:常见函数与面试示例
【4月更文挑战第20天】Go语言字符串是不可变的字节序列,采用UTF-8编码。本文介绍了字符串基础,如拼接(`+`或`fmt.Sprintf()`)、长度与索引、切片、查找与替换(`strings`包)以及转换与修剪。常见问题包括字符串不可变性、UTF-8编码处理、切片与容量以及查找与替换的边界条件。通过理解和实践这些函数及注意事项,能提升Go语言编程能力。
22 0
|
14天前
|
算法
代码随想录算法训练营第五十五天 | LeetCode 583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结
代码随想录算法训练营第五十五天 | LeetCode 583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结
24 1
|
存储 编译器 Linux
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
|
18天前
|
机器学习/深度学习 索引
【力扣】387. 字符串中的第一个唯一字符
【力扣】387. 字符串中的第一个唯一字符
|
1月前
|
C++ 索引
【力扣经典面试题】14. 最长公共前缀
【力扣经典面试题】14. 最长公共前缀
|
1月前
|
C++
【力扣经典面试题】58. 最后一个单词的长度
【力扣经典面试题】58. 最后一个单词的长度
|
1月前
|
算法 Java
【力扣经典面试题】12. 整数转罗马数字
【力扣经典面试题】12. 整数转罗马数字
|
1月前
|
索引
[经典力扣面试题]135. 分发糖果
[经典力扣面试题]135. 分发糖果
|
1月前
|
算法 C++ 索引
【力扣经典面试题】238. 除自身以外数组的乘积
【力扣经典面试题】238. 除自身以外数组的乘积
|
1月前
|
算法 索引
【力扣经典面试题】274. H 指数
【力扣经典面试题】274. H 指数

热门文章

最新文章