力扣题库刷题笔记17--电话号码的字母组合

news2024/11/23 19:40:07

1、题目如下:

2、个人Python代码实现:

        还是先记录一下思路,首先这种类型的题,需要自定义一个字典对应题目中的电话号码和数字。其次,个人的思路是,先读取字符串第一个字符(digits[0]),遍历digits[0] 在字典中对应的值并加入数组res,然后在遍历digits[1:]的数组时候跟第一次遍历是有区别的。举例digits = ‘2345’:

        1、digits[0]也就是2,2在电话号码里面对应“abc”,遍历“abc”加入数组res,这时候res=[a,b,c]

        2、digits[1]也就是3,3在电话号码里面对应“def”,这个时候是res里面的每个元素都需要和def的每个字符进行拼接(换句话说,就是a分别和d、e、f拼接、b分别和d、e、f拼接,c分别和d、e、f拼接),最后加入到res里面。所以我们采用了临时变量temp的方式进行实现

        3、digits[2]、digits[3]的实现方式也跟第二条保持一致

        个人调试代码如下(Pythoncharm复制过来没有缩进手动按的缩进,如果代码有问题,请参照下图调整对齐):

 

dic = {
        "2": "abc",
        "3": "def",
        "4": "ghi",
        "5": "jkl",
        "6": "mno",
        "7": "pqrs",
        "8": "tuv",
        "9": "wxyz"
}
s = ["23", "", "2", "9876"]
for digits in s:
        res = []
        while digits:
                char = dic[digits[0]]
                if not res:
                        for i in char:
                        res.append(i)
                else:
                        temp = res
                        res = []
                        for i in char:
                                for str in temp:
                                        res.append(str + i)
                                        digits = digits[1:]
                                        res.sort()
                                        print("输出为:{0}".format(res))
                                        print("输出长度为:{0}".format(len(res)))

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/703340.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云原生(第二篇)k8s-二进制搭建

准备五台机器: master01:192.168.169.10 node01:192.168.169.40 node02:192.168.169.50 master02:192.168.169.60 负载均衡nginxkeepalive01(master):192.168.169.20 负载均衡…

记一次Native memory leak排查过程 | 京东云技术团队

1 问题现象 路由计算服务是路由系统的核心服务,负责运单路由计划的计算以及实操与计划的匹配。在运维过程中,发现在长期不重启的情况下,有TP99缓慢爬坡的现象。此外,在每周例行调度的试算过程中,能明显看到内存的上涨…

Windows开启telnect

1、Telnet是什么? Telnet 是一种网络协议,用于通过网络远程登录到远程计算机或设备上。它允许用户在本地计算机上使用命令行界面(命令提示符)与远程主机进行交互,就像直接在远程主机上操作一样。Telnet 协议使用 TCP/I…

【需求实现】Tensorflow2的曲线拟合(三):Embedding层

文章目录 导读Embedding的维度问题Embedding的输入输出比较容易踩的坑input_shape与input_length的对应关系built属性 导读 这是填曲线拟合第一篇的坑,有关Embedding层的问题。 Embedding的维度问题 首先是上次我们提到的Embedding层,他确实能够做到将…

预约Oracle OCP认证考试的保姆式流程

Oracle OCP认证考试的预约流程涉及到Oracle的SLS培训记录,因此相当复杂。本文进行了详细地说明,每一步都有截图,有需要的同学建议收藏。 关于号主,姚远 Oracle ACE(Oracle和MySQL数据库方向)。Oracle MAA…

智能体重秤方案PCBA方案设计

智能体重秤是一款高精度、便捷、多功能的健康管理工具,旨在帮助用户监测和控制体重,达到健康管理与减肥的目的。该产品融合了先进的科技技术,结合了人体工程学设计,具有美观、易用的特点。以下将从结构、参数、原理和应用方面为大…

电涌(浪涌)保护器防雷保护级别

浪涌保护器实际就是压敏电阻,具有高通低阻的特性。当电网在不超过最大持续运行电压的情况下运行时,两个电极之间呈高阻状态。由于雷击的能量是非常巨大的,需要通过分级泄放的方法,将雷击能量逐步泄放到大地。 第一级防雷器可以对…

mmyolo框架实现在VOC数据集上复现Yolov6教程(详细)

写在开头,最近学习mmyolo的框架,想着它能将所有配置都写在一个config文件里,只需要改配置文件就可以改动模型,感觉挺方便的。 就想着Yolov6用mmyolo框架来实现,但mmyolo并没有提供v6的voc实现配置,v5是有的(看下图)&am…

软件测试技能,JMeter压力测试教程,取样器之测试活动(十八)

目录 前言 一、测试活动(Test Action) 二、Pause 设置暂停 三、Stop 停止 四、循环设置 五、跨线程组使用 前言 如果想在请求之后加等待时间如何做呢? 如果希望在 sampler 执行完之后再等待,则可使用取样器里面的测试活动 (Test Action) 一、测…

10个Salesforce集成项目最佳实践,助力成为专家!

随着企业越来越关注数据驱动的决策方法,集成多个系统成为了Salesforce 实施不可或缺的一部分。无论该项目是Salesforce的传统CRM迁移还是新的CRM实施,Salesforce CRM与ERP以及其他业务关键系统的集成都是需要考虑的重要策略。 集成项目的成功很大程度上…

Vue-pdf踩坑记录

最近在公司的一个项目中,需要在线预览PDF文件。基于vue-admin-electron的模板中开发。开发机系统为Windows,使用的框架为electron-vue。 坑1:在通过vue-router路由到含有vue-pdf组件的页面时报:“syntaxError: Unexpected token …

《移动互联网技术》 第十章 系统与通信: 掌握Android系统的分层架构设计思想和基于组件的设计模式

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

玩转代码|三个惊艳的黑科技代码,每一行代码都有惊讶的效果

目录 显示忘记密码 解除网页限制 去除视频logo 今日优质代码推荐 实现效果 实现过程 1. 简单的 Html 和 CSS 2. 创建 canvas画布 3. 获取鼠标点击位置 4. 实现鼠标点击产生烟花的初级形态 5. 实现烟花散开 6. 实现拖尾效果以及随机颜色 7. 实现烟花重力下坠 8. 实…

深度学习模型训练的全流程

目标是使用Pytorch来完成CNN的训练和验证过程,CNN网络结构。需要完成的逻辑结构如下: 构造训练集和验证集; 每轮进行训练和验证,并根据最优验证集精度保存模型。 # 将自定义的Dataset封装成一个Batch Size大小的Tensor&#xf…

threejs后期处理

个人博客地址: https://cxx001.gitee.io 1. 如何使用Threejs的后期处理 后期处理就是在场景渲染完后,最后对场景显示效果调整的手段。 使用后期处理步骤: (1)创建THREE.EffectComposer对象。(效果组合器) (2&#x…

指定某个时间,计算和当前时间间隔几天几时几分

dateDiff(startTime,endTime) {let t1 new Date(startTime).getTime()*1000; //开始时间 2023-06-29 10:00:00let t2 new Date(endTime).getTime()*1000; //结束时间 1688090400000000 2023-06-30 10:00:00 1688092230000000 2023-06-30 10:30:30let dateTime 1000 *…

小程序反编译

第一步:下载软件 根据把博客下载好三个软件 夜神模拟器 RE文件管理器 Node.js 第二步:打开模拟器中的 “微信” 第三步:点击要下载的小程序 并 记录当时的时间 方便一会查找pkg文件 第四步:打开文件资源管理器 第五步&#xff1a…

PyTorch的ONNX结合MNIST手写数字数据集的应用(.pth和.onnx的转换与onnx运行时)

在PyTorch以前的模型都是.pth格式,后面Meta跟微软一起做了一个.onnx的通用格式。这里对这两种格式文件,分别做一个介绍,依然使用MNIST数据集来做示例 1、CUDA下的pth文件 那pth文件里面是什么结构呢?其实在以前的文章就有介绍过…

0基础学习VR全景平台篇 第50篇:高级功能-自定义右键

本期为大家带来蛙色VR平台,高级功能—自定义右键功能操作。 功能位置示意 一、本功能将用在哪里? 自定义右键功能,观看者可通过电脑端右键和手机端长按屏幕,出现作者配置的自定义内容,使VR全景玩法变得多样化。 二、…