首页 > 其他分享 >46. 把数字翻译成字符串

46. 把数字翻译成字符串

时间:2023-08-01 10:57:34浏览次数:42  
标签:46 len 12258 翻译成 def 字符串 dp

# 例如 12258 一共有 5 种,分别是 abbeh,lbeh,aveh,abyh,lyh。
def numDecodings(s="12258"):
    def dfs(s, dp):
        if len(s) == 0:
            print(dp)
            return
        if len(s) >= 2 and int(s[:2]) <= 26:
            dpcopy = dp.copy()
            dpcopy.append(chr(ord('a')+int(s[:2])-1))
            dfs(s[2:], dpcopy)
        dpcopy = dp.copy()
        dpcopy.append(chr(ord('a')+int(s[:1])-1))
        dfs(s[1:], dpcopy)
    return dfs(s, [])


numDecodings()

output:

['l', 'y', 'h']
['l', 'b', 'e', 'h']
['a', 'v', 'e', 'h']
['a', 'b', 'y', 'h']
['a', 'b', 'b', 'e', 'h']

标签:46,len,12258,翻译成,def,字符串,dp
From: https://www.cnblogs.com/aolob/p/17595875.html

相关文章

  • 《字符串篇》string类进行转换等操作
    C++中的string类用法简介原文链接:https://blog.csdn.net/liitdar/article/details/80498634概述string是C++标准库的一个重要的部分,主要用于字符串处理。c_str(),string转换为char*//方法一:使用c_str()方法,代码(stringsimple.cpp)如下:#include<string>#include<iostream......
  • 左旋字符串
    字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。解法1:用切片和“+”实现 点击查看代码classsolution{publicStringreverseLe......
  • 2800.包含三个字符串的最短字符串-356
    包含三个字符串的最短字符串给你三个字符串a,b和c,你的任务是找到长度最短的字符串,且这三个字符串都是它的子字符串。如果有多个这样的字符串,请你返回字典序最小的一个。请你返回满足题目要求的字符串。注意:两个长度相同的字符串a和b,如果在第一个不相同的字符......
  • 2023-07-31:用r、e、d三种字符,拼出一个回文子串数量等于x的字符串。 1 <= x <= 10^5。 来
    2023-07-31:用r、e、d三种字符,拼出一个回文子串数量等于x的字符串。1<=x<=10^5。来自百度。答案2023-07-31:大体步骤如下:1.初始化一个字符串builder,用于构建结果字符串。2.初始化一个字符变量cur,初始值为'r',用于轮流使用字符'r'、'e'和'd'构建回文串。3.进入循环,直到输入......
  • [NOI2023] 字符串
    对于给出的串\(S\),将其拓展成\(S+\)特殊字符\(+rev(S)\),求出其后缀数组。那么对于一个子串\([l,r]\),合法的必要条件是\(l\)的后缀在后缀数组的排名小于\(r\)的前缀的排名。之所以是必要条件,是因为会记入一些\([l,r]\)是回文串且\(l\)的排名小的情况。具体而言,这......
  • P9482 [NOI2023] 字符串
    P9482[NOI2023]字符串限制长的很像回文串,但是是字典序关系。定睛一看比较的是原串\(s\)的一个后缀的前缀和翻转串\(s'\)的一个后缀的前缀比字典序。直接把\(s'\)拼到\(s\)后面,中间加个分隔符,来一次后缀排序。排名小的后缀字典序比排名大的后缀小。设当前比较的是......
  • java设置字符串颜色
    如何实现Java设置字符串颜色概述本文将向刚入行的小白开发者介绍如何在Java中设置字符串颜色。我们将使用Java的控制台输出来展示不同颜色的字符串。首先,我们将介绍整个实现的流程,然后逐步讲解每个步骤所需的代码和注释。实现流程步骤描述1.导入必要的类和包2.创......
  • LC 8、字符串转换整数(atoi)
    LC8、字符串转换整数(atoi)题目描述Leetcode上的8、字符串转换整数(atoi),难度为中等请你来实现一个myAtoi(strings)函数,使其能将字符串转换成一个32位有符号整数(类似C/C++中的atoi函数)。函数myAtoi(strings)的算法如下:读入字符串并丢弃无用的前导空格检查下......
  • 字符串基础
    几乎所有字符串算法都存在一个共性:基于所求信息的特殊性质与已经求出的信息,使用增量法与势能分析求得所有信息。这体现了动态规划思想。Manacher很好地证明了这一点:它维护所求得的最右回文子串的回文中心\(d\)与回文半径\(r\),利用回文性质通过均摊右端点移动距离在线性时间内......
  • mysql 字符串包含某个字符
    MySQL字符串包含某个字符在MySQL中,我们常常需要对字符串进行各种操作,包括判断一个字符串是否包含某个字符。本文将介绍如何使用MySQL语句来判断字符串是否包含某个字符,以及提供相应的代码示例。使用LIKE语句MySQL中提供了LIKE语句来判断一个字符串是否包含某个字符。LIKE语句是......