LeetCode简单题之重新格式化电话号码

news/2024/11/20 11:31:51/

题目

给你一个字符串形式的电话号码 number 。number 由数字、空格 ’ '、和破折号 ‘-’ 组成。
请你按下述方式重新格式化电话号码。
首先,删除 所有的空格和破折号。
其次,将数组从左到右 每 3 个一组 分块,直到 剩下 4 个或更少数字。剩下的数字将按下述规定再分块:
2 个数字:单个含 2 个数字的块。
3 个数字:单个含 3 个数字的块。
4 个数字:两个分别含 2 个数字的块。
最后用破折号将这些块连接起来。注意,重新格式化过程中 不应该 生成仅含 1 个数字的块,并且 最多 生成两个含 2 个数字的块。
返回格式化后的电话号码。
示例 1:
输入:number = “1-23-45 6”
输出:“123-456”
解释:数字是 “123456”
步骤 1:共有超过 4 个数字,所以先取 3 个数字分为一组。第 1 个块是 “123” 。
步骤 2:剩下 3 个数字,将它们放入单个含 3 个数字的块。第 2 个块是 “456” 。
连接这些块后得到 “123-456” 。
示例 2:
输入:number = “123 4-567”
输出:“123-45-67”
解释:数字是 “1234567”.
步骤 1:共有超过 4 个数字,所以先取 3 个数字分为一组。第 1 个块是 “123” 。
步骤 2:剩下 4 个数字,所以将它们分成两个含 2 个数字的块。这 2 块分别是 “45” 和 “67” 。
连接这些块后得到 “123-45-67” 。
示例 3:
输入:number = “123 4-5678”
输出:“123-456-78”
解释:数字是 “12345678” 。
步骤 1:第 1 个块 “123” 。
步骤 2:第 2 个块 “456” 。
步骤 3:剩下 2 个数字,将它们放入单个含 2 个数字的块。第 3 个块是 “78” 。
连接这些块后得到 “123-456-78” 。
示例 4:
输入:number = “12”
输出:“12”
示例 5:
输入:number = "–17-5 229 35-39475 "
输出:“175-229-353-94-75”
提示:
2 <= number.length <= 100
number 由数字和字符 ‘-’ 及 ’ ’ 组成。
number 中至少含 2 个数字。
来源:力扣(LeetCode)

解题思路

  遍历number,计数数字的个数,满3个就添加一个减号,最后再分情况处理尾部。

class Solution:def reformatNumber(self, number: str) -> str:temp=''count=0for i in number:if i.isdigit():temp+=icount+=1else:continueif count%3==0:temp+='-'if temp[-1]=='-':return temp[0:-1]if temp[-1].isdigit() and temp[-2]=='-':return temp[0:-3]+'-'+temp[-3]+temp[-1]return temp

在这里插入图片描述


http://www.ppmy.cn/news/605661.html

相关文章

【实战】 JWT、用户认证与异步请求(上) —— React17+React Hook+TS4 最佳实践,仿 Jira 企业级项目(四)

文章目录 一、项目起航&#xff1a;项目初始化与配置二、React 与 Hook 应用&#xff1a;实现项目列表三、TS 应用&#xff1a;JS神助攻 - 强类型四、JWT、用户认证与异步请求1.login2.middleware of json-server3.jira-dev-tool&#xff08;imooc-jira-tool&#xff09;安装问…

关于pytorch--embedding的问题

使用Pytorch实现NLP深度学习 Word Embeddings: Encoding Lexical Semantics 在pytorch里面实现word embedding是通过一个函数来实现的:nn.Embedding 在深度学习1这篇博客中讨论了word embeding层到底怎么实现的&#xff0c; 评论中问道&#xff0c;word embedding具体怎么做的…

pytorch中的transpose()

维度的相互调换 运行结果 batch_es和batch_ee输出的结果是一样的。原始的transpose参数(默认的参数)为(0,1,2)&#xff0c;这个转置相当于将第一个坐标与第二坐标进行了互换。

LeetCode中等题之整数反转

题目 给你一个 32 位的有符号整数 x &#xff0c;返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] &#xff0c;就返回 0。 假设环境不允许存储 64 位整数&#xff08;有符号或无符号&#xff09;。 示例 1&#xff1a; 输…

view(*args)改变张量的大小和形状_pytorch reshape numpy

20201227 这个方法是在不改变数据内容的情况下&#xff0c;改变一个数组的格式&#xff0c;参数及返回值&#xff0c;官网介绍&#xff1a; a&#xff1a;数组–需要处理的数据 newshape&#xff1a;新的格式–整数或整数数组&#xff0c;如(2,3)表示2行3列&#xff0c;新的…

LeetCode中等题之特殊等价字符串组

题目 给你一个字符串数组 words。 一步操作中&#xff0c;你可以交换字符串 words[i] 的任意两个偶数下标对应的字符或任意两个奇数下标对应的字符。 对两个字符串 words[i] 和 words[j] 而言&#xff0c;如果经过任意次数的操作&#xff0c;words[i] words[j] &#xff0c;那…

gelu

博客园 首页 新随笔 联系 管理 订阅 <div class"blogStats"><!--done-->随笔- 75 文章- 0 评论- 40 </div><!--end: blogStats --></div><!--end: navigator 博客导航栏 --><div id"post_detail">[…

Docker暴露端口服务器公网IP无法访问问题排查

目录一、未打开安全组策略二、防火墙开放端口未设置三、没有启用IP_FORWARD环境&#xff1a;阿里云CentOS7 服务器 问题&#xff1a;当启动一个容器向外部暴露端口时&#xff0c;服务器公网IP:端口号无法访问 docker run -d --name nginx01 -p 90:80 nginx一、未打开安全组策略…