【字符串】1309. 解码字母到整数映射

python-leetcode-1309. 解码字母到整数映射 这个问题是一个经典的字符串处理问题,我们需要根据给定的映射规则将字符串s转换为对应的小写字母。具体规则如下:'1' 到 '9' 映射为 'a' 到 'i'。'10#' 到 '26#' 映射为 'j' 到 'z'。我们可以遍历字符串s,并根据当前字符是否是数字来决定是映射为一个字母,还是需要检查是否存在以结尾的两位数映射。 阅读详情

【题目】
给你一个字符串 s,它由数字(‘0’ - ‘9’)和 ‘#’ 组成。我们希望按下述规则将 s 映射为一些小写英文字符:
字符(‘a’ - ‘i’)分别用(‘1’ - ‘9’)表示。
字符(‘j’ - ‘z’)分别用(‘10#’ - ‘26#’)表示。
返回映射之后形成的新字符串。
题目数据保证映射始终唯一。
【示例 1】
输入:s = “10#11#12”
输出:“jkab”
解释:“j” -> “10#” , “k” -> “11#” , “a” -> “1” , “b” -> “2”.
【示例 2】
输入:s = “1326#”
输出:“acz”
【示例 3】
输入:s = “25#”
输出:“y”
【示例 4】
输入:s = “12345678910#11#12#13#14#15#16#17#18#19#20#21#22#23#24#25#26#”
输出:“abcdefghijklmnopqrstuvwxyz”
【提示】
1 <= s.length <= 1000
s[i] 只包含数字(‘0’-‘9’)和 ‘#’ 字符。
s 是映射始终存在的有效字符串。
【代码】
【C++】
执行用时:
0 ms, 在所有 C++ 提交中击败了100.00%的用户
内存消耗:
6.2 MB, 在所有 C++ 提交中击败了86.38%的用户

class Solution {
public:
    string freqAlphabets(string s) {
        string strlist[]={"","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
        int pre=0,pos=1,flag=(s[s.size()-1]=='#');
        string tempstr="",rs="";
        while(pos!=-1){
            pos=s.find('#',pos+1);
            tempstr=s.substr(pre,pos-pre);
            if(pos==-1)
                break;
            pre=pos+1;
            for(int i=0;i<tempstr.size()-2;i++)
                rs+=strlist[tempstr[i]-'0'];
            int temp=(tempstr[tempstr.size()-2]-'0')*10+(tempstr[tempstr.size()-1]-'0');
            rs+=strlist[temp];
        }
        if(pre<s.size())
            for(int i=0;i<tempstr.size();i++)
                rs+=strlist[tempstr[i]-'0'];
        return rs;
    }
};

【Python】

class Solution:
    def freqAlphabets(self, s: str) -> str:
        strlist=['','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
        rs=""
        pos=s.find("#")
        while pos!=-1:
            temp=s[:pos]
            while len(temp)>2:
                rs+=strlist[int(temp[0])]
                temp=temp[1:]
            rs+=strlist[int(temp)]
            s=s[pos+1:]
            pos=s.find("#")
        if s is not None:
            while len(s)>0:
                rs+=strlist[int(s[0])]
                s=s[1:]
        return rs
字符串快速映射为整数 这是一道面试题,也是实际业务引发的需求。功能是把定长字符串映射为整数,目的是找到比用C++标准库无序映射unordered_map更快的算法。所有字符串的长度都一样,且初始化之后只有查询,没有增删改。不同功能字符串长度也不同,但不超过16。本程序随机生成长度为16的字符串集合,内部参数设定使命中率约为10%。实测结果比标准库快3倍。 立即下载

相关推荐

《点亮创新灯塔!AI应用架构师与中小学初等教育AI智能体,共筑智能化教育辅助创新灯塔》

中小学AI智能体,是基于AI技术,能感知教育场景、理解教育规律、辅助教师教学和学生学习的智能系统。做老师“做不了”的事:比如5分钟批改45本作业,精准统计每个学生的易错点;做老师“做不好”的事:比如根据学生的学习风格(视觉/听觉/动觉)推荐个性化内容;绝不做老师“该做的事”:比如情感交流、价值观引导、创意教学设计——这些“人的温度”,AI永远无法替代。我是林宇,资深AI应用架构师,专注教育AI领域8年,参与过10多个中小学AI智能体项目,曾为北京、上海、深圳等城市的100多所学校提供AI教育解决方案。

Java大师兄的博客 433

LeetCode-Python-1309. 解码字母到整数映射(字符串)

给你一个字符串s,它由数字('0' - '9')和'#'组成。我们希望按下述规则将s映射为一些小写英文字符: 字符('a' - 'i')分别用('1' -'9')表示。 字符('j' - 'z')分别用('10#'-'26#')表示。 返回映射之后形成的新字符串。 题目数据保证映射始终唯一。 示例 1: 输入:s = "10#11#12" 输出:"jkab" 解释:...

Keep Coding 1141

告别抖动与滞后:深入博能传动伺服DSC功能,用105报文提升多轴同步性能

本文深入解析博能传动伺服DSC功能如何通过105报文实现多轴同步性能提升,有效解决工业自动化中的抖动与滞后问题。详细介绍了DSC技术原理、105报文实现机制及多轴同步工程实践,帮助工程师优化伺服系统性能,实现绝对齿轮同步。

weixin_30394981的博客 185

bitMap算法将字符串映射成数字,同时可以将数字映射成字符串-javascript

ckHash函数类,将字符串映射成数字,同时可以将数字映射成字符串 说明 1、所谓的BitMap就是用一个bit位来标记某个元素所对应的value,而key即是该元素,由于BitMap使用了bit位来存储数据,因此可以大大节省存储空间。 2、ckHash函数类适用于做key-value的字符映射关系,利用字符串正则密钥给定一个值范围,以及bit长度len,将字符串映射成0-len之间的数字,...

weixin_30532369的博客 3618

AI大模型学习(14)AI 小白入门!用 OpenCV+Python 打造人体姿态识别系统,超详细教程来了

这篇教程介绍了如何使用Python+OpenCV+MediaPipe搭建入门级人体姿态识别系统。主要内容包括:人体姿态识别的应用场景(如健身APP、体感游戏)、开发环境搭建(安装Python、OpenCV和MediaPipe库)、核心代码实现(通过30行代码完成摄像头姿态检测),以及进阶功能开发(深蹲动作纠正算法和PPT体感控制器)。教程详细解析了MediaPipe的BlazePose模型架构和33个关键点的生理学意义,并提供了多线程优化等性能提升方案。该项目适合AI初学者实践,无需复杂算法即可实现实时人体

isoft888的专栏,致力于C#/python分享物联网、大数据,神经网络的等领域,欢迎讨论交流! 1555

FPGA实战:手把手教你配置4个Aurora 8B/10B IP核共享时钟(附完整工程文件)

本文详细介绍了在Xilinx FPGA上配置四个Aurora 8B/10B IP核并实现时钟共享的实战指南。从工程规划、IP核基础配置到共享逻辑的实现,再到多核时钟域与复位架构的设计,以及时序约束与调试技巧,提供了完整的解决方案和可复用的工程文件。特别强调了GT参考时钟的共享和复位信号的处理,帮助工程师高效解决多通道高速串行通信的设计挑战。

weixin_30879169的博客 416

字符串哈希函数

基本概念所谓完美哈希函数,就是指没有冲突的哈希函数,即对任意的 key1 != key2 有h(key1) != h(key2)。设定义域为X,值域为Y, n=|X|,m=|Y|,那么肯定有m&gt;=n,如果对于不同的key1,key2属于X,有h(key1)!=h(key2),那么称h为完美哈希函数,当m=n时,h称为最小完美哈希函数(这个时候就是一一映射了)。 在处理大规模字符串数据时,经...

weixin_34392435的博客 707

Windows应急响应实战:灰鸽子木马检测与清除全流程解析

远程控制木马(RAT)是一种基于客户端/服务器(C/S)架构的恶意软件,攻击者通过它能够远程操控受害主机,实现屏幕监控、文件窃取、键盘记录等操作,对个人隐私与企业数据安全构成严重威胁。其技术原理通常涉及进程注入、网络通信、持久化机制等核心环节,在应急响应中具有极高的分析价值。掌握此类木马的检测与清除方法,是Windows系统安全防护与事件处置的基本功。本文以经典的灰鸽子木马为例,结合进程分析、网络排查、注册表检查等实战技术,系统讲解从行为识别、痕迹取证到彻底清除的完整操作流程,并涵盖Rootkit对抗、无文

weixin_30521161的博客 415

算法—把字符串转化为整数

题目 题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法的数值表达则返回该数字,否则返回0 示例1 输入: +2147483647 1a33 输出: 2147483647 0 分析 此题的难度在于判断越界的问题。 应当注意: 在每次计算当前的num之前,要判断计算出来的num会不会越界,如果会越界,说明输入的字符串没法转化为整型,则返回0。 因为正数的边界I

shengpeizhu的博客 1028

Apache DolphinScheduler 实现了对 OceanBase 的元数据库支持

Apache DolphinScheduler 是一款开源的分布式工作流任务调度系统,它提供了可视化的工作流设计和调度功能,支持大数据任务的自动化调度和监控。最近的更新中,Apache DolphinScheduler 引入了对 OceanBase 数据库的元数据库支持,这为用户在大数据环境中管理和调度任务提供了更多选择。用户可以通过 DolphinScheduler 提供的可视化界面进行工作流的设计和调度,也可以通过 DolphinScheduler 提供的 API 进行任务的编程调度。

VavzNvml的博客 495

《低功耗方法学》翻译——第一章:介绍

第一章:介绍

记录所学,分享知识,结识挚友 2069

字符映射成数字

字符映射成数字

RGHLY21的博客 382

Vue3 + 高德地图实现车辆电子围栏监控与报警

通过本文的实现,我们完成了一个通用的车辆电子围栏监控功能:支持多种围栏类型。支持进入/离开/双向报警。使用缓存机制避免重复告警。可与Vue3 + 高德地图无缝集成。在实际项目中,可以结合WebSocket 实时定位,实现车辆的实时监控 + 围栏告警系统🚀。

专注于前端开发与实战技巧,记录从零到一的学习与项目经验。分享 Vue3 / JavaScript / TypeScript / Flutter /Uniapp等前端技术,以及 性能优化、工程化、最佳实践。 1035

力扣 205. 同构字符串,1309. 解码字母到整数映射,91. 解码方法,200. 岛屿数量,639. 解码方法 II

给定两个字符串 s 和 t ,判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。

2302_80423900的博客 764

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

题目:1309.解码字母到整数映射

leetcode 题目:1309.解码字母到整数映射

2301_76145947的博客 100

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

1309. 解码字母到整数映射

1309. 解码字母到整数映射 给你一个字符串 s,它由数字(‘0’ - ‘9’)和 ‘#’ 组成。我们希望按下述规则将 s 映射为一些小写英文字符: 字符(‘a’ - ‘i’)分别用(‘1’ - ‘9’)表示。 字符(‘j’ - ‘z’)分别用(‘10#’ - ‘26#’)表示。 返回映射之后形成的新字符串。 题目数据保证映射始终唯一。 示例 1: 输入:s = “10#11#12” 输出:“...

enjoy_code_的博客 394

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

python序列规则_python序列之列表

注:本文测试环境为python 2.7列表(list),同数组不同,它既可以存储相同类型的数据,也可也存储不同类型的数据list1 = [1,2,3]list2 = [1,’hello’,False]列表属于序列,所以兼顾序列的一些通用特性1、索引list1 = [1,2,3,4]列表的索引 从左往右,从0开始,依次+1s1[0]代表第一个元素,这里s1[0] = 1从右往左取索引,从-1开始,依...

weixin_39912163的博客 870

LeetCode——1309. 解码字母到整数映射

题目描述: 给你一个字符串 s,它由数字(‘0’ - ‘9’)和 ‘#’ 组成。我们希望按下述规则将 s 映射为一些小写英文字符: 字符(‘a’ - ‘i’)分别用(‘1’ - ‘9’)表示。 字符(‘j’ - ‘z’)分别用(‘10#’ - ‘26#’)表示。 返回映射之后形成的新字符串。 题目数据保证映射始终唯一。 提示: 1 <= s.length <= 1000 s[i] 只包含数字(‘0’-‘9’)和 ‘#’ 字符。 s 是映射始终存在的有效字符串。 示例 1: 输入:s =

FYPPPP的博客 242

LeetCode:1309. 解码字母到整数映射

class Solution: def freqAlphabets(self, s: str) -> str: res,i='',len(s)-1 while i>=0: if s[i]=='#': res+=chr(int(s[i-2:i])+96) i-=3 else: res+=chr(int(s[i])+.

dosdiosas_的博客 211

LeetCode 1309. 解码字母到整数映射

1. 题目 给你一个字符串 s,它由数字(‘0’ - ‘9’)和 ‘#’ 组成。 我们希望按下述规则将 s 映射为一些小写英文字符: 字符('a' - 'i')分别用('1' - '9')表示。 字符('j' - 'z')分别用('10#' - '26#')表示。 返回映射之后形成的新字符串。 题目数据保证映射始终唯一。 示例 1: 输入:s = "10#11#12" 输出:"jkab" 解释...

Michael是个半路程序员 880

1309 解码字母到整数映射

题目描述: 给你一个字符串 s,它由数字(‘0’ - ‘9’)和 ‘#’ 组成。我们希望按下述规则将 s 映射为一些小写英文字符: 字符(‘a’ - ‘i’)分别用(‘1’ - ‘9’)表示。 字符(‘j’ - ‘z’)分别用(‘10#’ - ‘26#’)表示。 返回映射之后形成的新字符串。 题目数据保证映射始终唯一。 示例 1: 输入:s = “10#11#12” 输出:“jkab” 解释:“j” -> “10#” , “k” -> “11#” , “a” -> “1” , “b” -&

weixin_44171872的博客 329

1309 解码字母到整数映射(map)

1. 问题描述: 给你一个字符串s,它由数字('0' - '9')和'#'组成。我们希望按下述规则将s映射为一些小写英文字符: 字符('a' - 'i')分别用('1' -'9')表示。 字符('j' - 'z')分别用('10#'-'26#')表示。 返回映射之后形成的新字符串。 题目数据保证映射始终唯一。 示例 1: 输入:s = "10#11#12" 输出:"jkab" 解释:"j" -> "10#" , "k" -> "11#" , "a" -> "1"...

二哈 418

LeetCode - 1309 - 解码字母到整数映射

一 目录「不折腾的前端,和咸鱼有什么区别」目录一 目录二 前言三 解题及测试四 LeetCode Submit五 解题思路二 前言「难度」:简单「涉及知识」:字符串「题目地址」:http...

weixin_41806099的博客 310
上一篇: 【字符串】1704. 判断字符串的两半是否相似
下一篇: 【字符串】1221. 分割平衡字符串(值得学习)
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值