leetcode算法题--把数字翻译成字符串

2023-11-13

原题链接:https://leetcode.cn/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan-lcof/?envType=study-plan-v2&envId=coding-interviews

其实是跳台阶问题,给想复杂了。。

func translateNum(num int) int {
    mp1 := make(map[string]string)
    for i := 0; i < 26; i++ {
        ss := string('a'+i)
        nn := strconv.Itoa(i) 
        mp1[nn]=ss
    }
    mp2 := make(map[string]int)
    s := strconv.Itoa(num)
    n := len(s)
    var dfs func(idx int, str string)
    dfs = func(idx int, str string) {
        if idx == n {
            mp2[str] = 1
            return 
        } 
        for i := idx+1; i <= n; i++ {
            nn := s[idx:i]
            ss, ok := mp1[nn]
            if !ok {
                break
            }
            dfs(i, str+ss) 
        }
    }
    dfs(0, "")
    return len(mp2)
}

优化

func translateNum(num int) int {
    s := strconv.Itoa(num)
    n := len(s)
    if n <= 1 {
        return n 
    }
    dp := make([]int, n)
    dp[0] = 1  
    dp[1] = 1 
    if s[:2] <= "25" && s[:2] >= "10" {
        dp[1] = 2
    }
    for i := 2; i < n; i ++ {
        dp[i] = dp[i-1]
        ss := s[i-1:i+1]
        if ss <= "25" && ss >= "10" {
            dp[i] += dp[i-2]
        } 
    } 
    return dp[n-1] 
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

leetcode算法题--把数字翻译成字符串 的相关文章

  • 当目标是查找某个字符串的所有出现情况时,KMP 最坏情况的复杂度是多少?

    我还想知道哪种算法在查找另一个字符串中所有出现的字符串时具有最坏情况的复杂性 博耶 摩尔算法似乎具有线性时间复杂度 KMP 算法在查找字符串中所有出现的模式时具有线性复杂度 如 Boyer Moore 算法1 如果您尝试在 aaaaaaaa
  • 检查数独字段的很酷的算法?

    有谁知道一个简单的算法来检查数独配置是否有效 我想出的最简单的算法是 对于大小为 n 的板 伪代码 for each row for each number k in 1 n if k is not in the row using ano
  • 4 x 3 锁图案

    我遇到了这个 它要求计算在 4x3 网格中可以制作特定长度的锁定图案的方式数 并遵循规则 可能有些点不能包含在路径中 有效的模式具有以下属性 图案可以使用第一次接触的点序列来表示 与绘制图案的顺序相同 从 1 1 到 2 2 的图案与图案不
  • 如何使用KDTrees实现最近邻搜索?

    所以 我正在实施一个KD Tree http en wikipedia org wiki Kd tree进行最近邻搜索 我已经构建了树部分 但我认为我没有完全理解搜索部分 关于遍历树来搜索邻居 维基百科文章如下 Starting with
  • 稀疏矩阵中的最大和子矩形

    求一个子矩形中的最大和NxN矩阵可以完成O n 3 正如其他帖子中指出的 使用 2 d kadane 算法的时间 然而 如果矩阵是稀疏的 具体来说O n 非零条目 可以O n 3 时间被打败了吗 如果有帮助的话 对于我感兴趣的当前应用程序
  • 交换两个向量之间的值,使两个向量的 max_element 之和最小

    这是 Codechef 的问题 但请耐心等待 https www codechef com ZCOPRAC problems ZCO16001 https www codechef com ZCOPRAC problems ZCO16001
  • 基于时间的算法评分

    我们希望创建一种评分算法 在更短的时间内获得更高的分数 在更长的时间内获得更少的分数 需要注意的是 没有实际范围 因此时间范围可以从 100 毫秒到长达 10 分钟或更长时间 点范围为 0 到 50 谢谢你的帮助 你可以简单地把它变成一个线
  • Exposé 布局算法

    我正在制作一些项目 其布局类似于 Mac OS X 在 Expos 中对窗口所做的操作 它适应项目的长宽比和可用区域的长宽比 基本上 可用区域分为行和列 每个单元格 行和列的交集 中放置一个项目 这些项目必须保持其纵横比 此处width h
  • 从日志文件中获取前 100 个 URL

    我的一位朋友在接受采访时被问到以下问题 谁能告诉我如何解决它 我们有一个相当大的日志文件 大约 5GB 日志文件的每一行都包含一个用户在我们网站上访问过的 URL 我们想要找出用户访问最多的 100 个 URL 怎么做 如果我们有超过 10
  • 线性代数如何在算法中使用?

    我的几个同行都提到 学习算法时 线性代数 非常重要 我研究了各种算法并学习了一些线性代数课程 但我没有看到其中的联系 那么线性代数如何应用在算法中呢 例如 图的连接矩阵可以带来哪些有趣的事情 三个具体例子 线性代数是现代 3D 图形的基础
  • 高维最近邻搜索的最佳数据结构

    我实际上正在处理高维数据 50 000 100 000 个特征 并且必须对其执行最近邻搜索 我知道随着维度的增长 KD 树的性能很差 而且我还了解到 一般来说 所有空间分区数据结构都倾向于对高维数据执行详尽的搜索 此外 还有两个重要事实需要
  • 图中的后边

    I m having a hard time understanding Tarjan s algorithm for articulation points I m currently following this tutorial he
  • 寻找距离原点最近的 100 颗恒星的算法

    首先让我提出正确的问题 问 有一个文件包含超过一百万个点 x y 每个点代表一颗星星 a b 处有一颗行星地球 现在 任务是构建一种算法 返回距离地球最近的 100 颗恒星 您的算法的时间和空间复杂度是多少 这个问题在各种采访中被问过很多次
  • 如何将一组重叠范围划分为不重叠范围?

    假设您有一组范围 0 100 一 0 75 b 95 150 c 120 130 d 显然 这些范围在某些点上重叠 您将如何剖析这些范围以生成不重叠范围的列表 同时保留与其原始范围相关的信息 在本例中为范围后面的字母 例如 运行算法后的上述
  • 解释一下从 N 个给定集合中的每一个中给出第 K 个最大数字的示例?

    今天我尝试解决一个Facebook 编程挑战赛 https facebook interviewstreet com recruit challenges 我遇到的挑战是 酒吧问题 可以找到here https github com alo
  • 在 C++ 中通过引用传递 std 算法谓词

    我正在尝试从 a 中删除元素std list并保留已删除元素的一些统计信息 为此 我使用列表中的remove if 函数 并且我有一个谓词 我想使用这个谓词来收集统计数据 这是谓词的代码 class TestPredicate privat
  • 7 张牌扑克手牌评估器

    有谁知道评估 7 张牌扑克牌的快速算法吗 这比简单地暴力检查 7 张牌中每 21 个 5 张牌的组合更有效 Cheers Pete 我写了一篇JavaScript 核心评估方法仅使用位操作 因此速度非常快 考虑到这一点 查看 21 种组合还
  • 用 C++ 生成 AST

    我正在用 C 制作一个解释器 到目前为止我已经有了词法分析器来生成标记 问题是我不确定如何生成 行走 解析树 我正在考虑使用数组数组来制作解析树 但我不确定如何以正确的顺序将标记实际插入到解析树中 我不确定是自上而下 左右还是自下而上 左右
  • 异或交换可以扩展到两个以上的变量吗?

    我一直在尝试将异或交换扩展到两个以上的变量 例如n变量 但我没有得到比这更好的地方3 n 1 对于两个整型变量x1 and x2你可以像这样交换它们 swap x1 x2 x1 x1 x2 x2 x1 x2 x1 x1 x2 所以 假设你有
  • 如何有效地找到距给定点最远的点(从一组点中)?

    我正在寻找一种算法或数据结构来解决以下问题 给你一组点 S 然后你会得到另一个点形式的 Q 查询 对于每个查询 找到集合中距离给定点最远的点 集合中最多有 10 5 个点和 10 5 个查询 所有点的坐标都在 0 到 10 5 范围内 我想

随机推荐

  • ARP协议

    一 ARP协议的简介 1 在网络通讯时 源主机的应用程序只知道目的主机的IP地址和端口号 却不知道目的主机的硬件地址 而数据包首先是被网卡接收到再去处理上层协议的 如果接收到的数据包的硬件地址与本机不符 则直接丢弃 因此在通讯前必须获得目的
  • pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn pym

    这里写自定义目录标题 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题 有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中 居左 居右 Sma
  • HCIP——OSPF知识点

    目录 一 OSPF协议的简介 二 OSPF的五种数据包 三 OSPF协议的7种状态机 四 OSPF 的工作过程 五 OSPF的基础配置 六 扩展配置 七 OSPF的LSA 八 OSPF的不规则区域 一 OSPF协议的简介 Ospf 开放式最
  • 3D渲染速度慢,花重金买显卡还是用云渲染更划算

    3D渲染对建筑师和设计师来说并不陌生 3D渲染的过程中出现渲染卡顿 特殊材质难以渲染 或者本地配置不足 本地渲染资源不够时 常常会影响工作效率 本文比较了3D渲染时 为提高工作效率 买显卡还是用云渲染更划算 希望对大家有帮助 3D渲染速度慢
  • 电脑麦克风输入没声音,如何解决

    文章目录 一 麦克风输入没声音的原因 二 解决办法 1 打开麦克风隐私权限 2 设置更换输入设备 3 打开麦克风设置 4 更新声卡驱动 重启电脑 5 设备损坏 更换设备 一 麦克风输入没声音的原因 麦克风没声音 麦克风设置问题或硬件损坏问题
  • 【数据集】浙大动态人类3d数据集LightStage

    LightStage LightStage是一个多视图数据集 在NeuralBody中提出 该数据集使用具有 20 同步摄像头的多摄像头系统捕获多个动态人类视频 人类执行复杂的动作 包括旋转 太极 手臂摆动 热身 拳击和踢腿 我们提供使用E
  • innodb存储引擎

    文章目录 1 innodb存储引擎概述 2 innodb体系架构 2 1后台线程 2 2内存 1 缓冲池 2 LRU list 和 Flush list 和Free list 3 重做日志缓冲 4 额外的内存池 2 4Checkpoint技
  • 在AIX4.3.3 ; AIX5.1 和 AIX5.2上安装OpenSSH

    在AIX4 3 3 AIX5 1 和 AIX5 2上安装OpenSSH 在AIX4 3 3 AIX5 1 和 AIX5 2上安装OpenSSH 一 在IBM AIX4 3 3 上安装OpenSSH At 4 3 3 the openSSH
  • 一战上岸北京211 初试+复试 408错题笔记

    趁着现在还记着点复试的内容我先把复试的内容捋一遍 先是政治问题 都是大概意思 假如导师给你分配的事情比较多 你心情会发生什么样的变化 怎么看待近两年中国的抗疫历程 我国把人民生命健康放在第一位说明了什么 怎么看待网络打赏行为 应该还有一个问
  • 树莓派Ubuntu20.04安装ros系统

    第一位大佬的博文 第二位大佬的博文 首先设置软件源 这里可以是官方源也可以是镜像 由于我官方源就成功了 所以没用镜像源 sudo sh c echo deb http packages ros org ros ubuntu lsb rele
  • AI实战训练营(Class 5)MMPretrain代码实战

    AI实战训练营 Class 5 MMPretrain代码实战 1 安装MMPretrain 首先安装openmim工具 从源码安装mmpretrain 通过下面的命令安装多模态版本的 mmpretrain 2 熟悉MMPretrain 猫狗
  • Traceback (most recent call last): File "", line 1, in ImportError: No module named

    在学习python的过程中会遇到如下错误 gt gt gt import mytest Traceback most recent call last File
  • RabbitMQ 消息可靠性投递+消费

    RabbitMQ 消息可靠性投递 消费 任何消息中间件发消息投递的可靠性都是开发者选择的重要参考依据 我们希望的是发送的每一条消息都是可以被消费者正确处理的 但是没有哪个消息中间件可以保证消息一定 100 投递成功 那么如果消息投递失败我们
  • 使用最新版本Android NDK-r21 编译 opencv-3.3.1 + opencv_contrib-3.3.1

    由于新版本的NDK跟旧版本NDK编译的opencv存在兼容问题 所以需要使用最新的NDK重新编译opencv 方法步骤如下 Android NDK r21 编译 opencv 3 3 1 opencv contrib 3 3 1 1 sud
  • Github使用学习笔记(三)

    第三节任务 一不小心把代码改残了 我该如何回退到曾经的版本 一 git log查看所有历史版本 发现commit的版本号还是很长的 二 回退版本 直接使用 git reset hard 版本号 就好 版本号也可以不写齐全 直接选择前几位写下
  • [LeetCode-14]-Longest Common Prefix (最长公共前缀)

    文章目录 题目相关 Solution 题目相关 题目解读 查找一个字符串数组的公共前缀 原题描述 原题链接 Write a function to find the longest common prefix string amongst
  • 下一代MOM,这你让MES+MRP情何以堪?

    MOM是Manufacturing Operation Management的缩写 中文就是制造运营管理 这个词是美国仪器 系统和自动化协会 Instrumentation System and Automation Society ISA
  • IDEA软件安装与配置

    一 IDEA简介 1 IDEA介绍 IDEA 全称 IntelliJ IDEA 是java语言开发的集成环境 IntelliJ在业界被公认为最好的java开发工具之一 尤其在智能代码助手 代码自动提示 重构 J2EE支持 各类版本工具 gi
  • H5开发的CRM手机移动端销售漏斗图

  • leetcode算法题--把数字翻译成字符串

    原题链接 https leetcode cn problems ba shu zi fan yi cheng zi fu chuan lcof envType study plan v2 envId coding interviews 其实