python 键盘输入数字_九宫格键盘输入

九宫格键盘输入

Letter Combinations of a Phone Number

给定一个数字字符串,返回数字可能代表的所有可能的字母组合。

数字到字母的映射(就像九宫格电话按钮一样)如下图。

Given a digit string, return all possible letter combinations that the number could represent.

A mapping of digit to letters (just like on the telephone buttons) is given below.

Note:

Although the above answer is in lexicographical order, your answer could be in any order you want.

example 1

Input:Digit string "23"

Output: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].

思路

以23为例,2代表abc,只需要将其转换成lists = [a,b,c],然后处理3,3为def,将这三个字符分别加到s的每一个元素中,得到["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]。重复此过程即可。

上述思路可以用循环完成,同时python提供的reduce函数和生成式特性能够精炼地表述,下面给出两种代码。

代码

class Solution(object):

def letterCombinations(self, digits):

"""

:type digits: str

:rtype: List[str]

"""

from functools import reduce #python3.x

if not digits:

return []

nums = '0 1 abc def ghi jkl mno pqrs tuv wxyz'.split(' ')

return reduce(lambda last, d: [x + y for x in last for y in nums[int(d)]], digits, ['']) # 第三个参数是initial

#使用循环完成

def letterCombinations_old(self, digits):

if not digits:

return []

nums = '0 1 abc def ghi jkl mno pqrs tuv wxyz'.split(' ')

ret = [_ for _ in nums[int(digits[0])]]

digits = digits[1:]

while digits:

ret = [x + y for x in ret for y in nums[int(digits[0])]]

digits = digits[1:]

return ret

本题以及其它leetcode题目代码github地址: github地址

文章来源:segmentfault,作者:冯了个杰。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:william.shi#ucloud.cn(邮箱中#请改为@)进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

3bd16c71c09c78ecd52251f00b4c6dfa.png

后台-系统设置-扩展变量-手机广告位-内容正文底部

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

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

相关文章

python更新包列表出错_解决pycharm无法获取安装包文件列表

Pycharm 中Available packages nothing to showManage Repositories:https://pypi.python.org/pypihttps://pypi.tuna.tsinghua.edu.cn/simple/http://mirrors.aliyun.com/pypi/simple/Linux下,修改 ~/.pip/pip.conf (没有就创建一个文件夹及文件。文件夹要加“.”&…

java2组随机数的共通数_java随机数产生-指数分布 正态分布 等

1 指数分布指数分布的概率密度函数:ylamda*exp(-lamda*x)x>0由此可以计算概率分布函数:y1-exp(-lamda*x)x>0y是 X首先,把y当作是在(0,1)区间的均匀分布的随机变量。然后,求y1-exp(-lamda*x)的逆函数&#xff0c…

c# combobox集合数据不显示_excel打开数据时显示乱码/问号amp;看起来一样却v不出来怎么办...

1、乱码问题:今天正好碰到这种情况,想起来写一写。有时从客户那里拿到的CSV等文件,直接用excel打开是这样的:其实观察一下会发现?的地方一般就是中文,实质上是中文字符显示不出来。有小伙伴一直是单独下个W…

mysql 异步 同步 不支持_MySQL C#异步方法不起作用?

我在服务器中有一个数据库,似乎async方法不起作用.这是我的代码:static async void Example(){string connectionString "Servermydomainname.com;" "Port3306;" "Databasescratch;" "UidAssassinbeast;" "Passwordmy…

if嵌套while循环语句_Python学习笔记015--while循环嵌套

while循环嵌套前面学习过if的嵌套了&#xff0c;想一想if嵌套是什么样子的&#xff1f;类似if的嵌套&#xff0c;while嵌套就是&#xff1a;while里面还有while<1>while嵌套的格式while 条件1:条件1满足时&#xff0c;做的事情1条件1满足时&#xff0c;做的事情2条件1满足…

.net mysql 更新_升级 MySql.Data for NET 后遇到的神坑

今天把一个之前基于 http://ASP.NET MVC 5 EntityFramework 5 的项目里的 Nuget 包都升级了一下&#xff0c;包括将 EF 从 6.1.3 升级到 6.2.0&#xff0c;将 MySql.Data (用于 EF 连接 MySQL 数据库)从 6.9.9 升级到 8.0.12&#xff0c;MySql.Data.Entity 从 6.9.9 升级到 6.…

long类型怎么转换成string_Python知识点-Python变量类型有哪些?

Python的内置变量类型是非常基础的知识点&#xff0c;善用变量类型转换在日常的工作学习中会给我们带来非常大的帮助。相对于其他语言&#xff0c;Python的变量类型既有自己的特色方法&#xff0c;也有借鉴前辈的优秀之处。今天酷仔整理总结了关于Python内置变量类型一文&#…

mysql连接服务密码_Hydra爆破常见服务密码

Hydra是一款专业的服务密码探测工具&#xff0c;支持FTP、LDAP、MYSQL、Oracle、POP3、SMB、SSH等网络服务&#xff0c;多用于信息安全检查工作中弱口令登陆测试。实验环境操作系统&#xff1a;Kali 2019.4目标网络&#xff1a;192.168.168.0/24爆破教程第一步 升级系统、软件版…

矩阵求逆c语言实现_[V-SLAM] Bundle Adjustment 实现

SLAM问题的后端有主要有滤波和优化两种方案。目前&#xff0c;普遍认为优化的方法在精度上要超过滤波方法&#xff0c;因为它可以进行多次的线性化。近年来出现的SLAM算法也大都是基于优化的算法&#xff08;如ORB-SLAM、DSO等&#xff09;。优化问题的核心便是Bundle Adjustme…

centos安装 mysql_Linux centos 安装 mysql 5.6

一、mysql下载1、方式一(简单粗暴)直接在linux 目录下wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz2、方式二(官方下载)浏览器打开网址&#xff1a;https://www.mysql.com如下图依次点击1、2、3、4步如下图设置对应版本点击…

python定义一个类savingaccount表示银行账户_c#教程之c#模拟银行atm机示例分享

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ATM{abstract class Account{//账户号码protected long id;public long ID{get { return id; }set { id value; }}//账户密码protected string password;public string PassWor…

php 在线人数 mysql_PHP+MYSQL实例:编写网站在线人数的程序代码

以下为引用的内容&#xff1a;//Put your basic server info here$server "localhost"; //normally localhost$db_user "root"; //your MySQL database username$db_pass "password"; //your MySQL database password$database "users&…

tracepro杂散光分析例子_光刻机的蜕变过程及专利分析

来源&#xff1a;芯通社近两年&#xff0c;中国芯片产业受到了严重打击&#xff0c;痛定思痛之余也让国人意识到芯片自主研发的重要性。从2008年以来&#xff0c;十年间&#xff0c;芯片都是我国第一大宗进口商品&#xff0c;进口额远超于排名第二的石油。2018年我国进口集成电…

docker mysql日志_面试官问:了解Mysql主从复制原理么?我呵呵一笑

搭建Mysql主从同步之前&#xff0c;我们先来说他们之间同步的过程与原理&#xff1a;同步复制过程献上一张图&#xff0c;这张图诠释了整个同步过程主从复制过程&#xff1a;slave节点与主节点进行连接&#xff0c;建立主从关系&#xff0c;并把从哪开始同步&#xff0c;及哪个…

python 文件加密_python实现文件快照加密保护的方法

本文实例讲述了python实现文件快照加密保护的方法。分享给大家供大家参考。具体如下&#xff1a;这段代码可以对指定的目录进行扫描&#xff0c;包含子目录&#xff0c;对指定扩展名的文件进行SHA-1加密后存储在cvs文件&#xff0c;以防止文件被篡改调用方法&#xff1a;python…

查看socket缓冲区数据_什么是socket缓冲区?

Socket 就是发送和接收网络数据&#xff0c;Socket 有发送缓冲也有接收缓冲&#xff0c;这些缓冲区有什么作用&#xff1f;1、什么是Socket缓冲区&#xff1f;熟悉 Socket 的读者都知道&#xff0c;Socket 的发送和接收&#xff0c;就是调用 send 和 recv 函数。实际操作中&…

python登录并关注公众号_python微信公众号之关注公众号自动回复

我们知道一旦使用开发者模式&#xff0c;我们就无法使用公众号平台中的自动回复功能&#xff0c;也就是关注自动回复功能只有自己写才可以。如图所示&#xff0c;我们无法直接使用此功能。那么接着上一个博客&#xff0c;我们完成了关键词自动回复功能&#xff0c;博文地址实现…

哈工大大数据实验_科研常用 | 实验大数据分析方法

对于每个科研工作者而言&#xff0c;对实验数据进行处理是在开始论文写作之前十分常见的工作之一。但是&#xff0c;常见的数据分析方法有哪些呢&#xff1f;常用的数据分析方法有&#xff1a;聚类分析、因子分析、相关分析、对应分析、回归分析、方差分析。1、聚类分析(Cluste…

搭建github服务器_搭建一个属于自己的公网博客

相信每一位程序员都喜欢拥有一个属于自己的博客。当然&#xff0c;在我认为&#xff0c;内容以及模块都要自己进行可扩展定义才是真正属于自己的。那么想要一个博客就必须要有一个服务器和一个域名&#xff0c;这样的话才能让自己的博文内容发扬光大&#xff0c;但是服务器的性…

mysql超过1W条查询不显示_mysql 被写入1W数据后无法select*from table,但是加入limit参数后可以查询...

数据库表结构 innodbSELECT 查询错误提示ERROR 2013 (HY000): Lost connection to MySQL server during query我觉得可能是 SELECT 执行时间过长,所以报错.mysql 日志150414 03:11:26 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql150414 3:11:27 In…