【字符串】1694. 重新格式化电话号码

【EPICS学习记录】根据官方教程创建一个IOC应用 参照官网给出的IOC创建教程逐步操作完成了一个IOC应用的创建,官网教程中有部分过程表述的不清晰,自己摸索之后完成了IOC的创建,并把流程记录下来。其中有一些操作不是很理解,有问题或者建议欢迎指正。 阅读详情

【题目】
给你一个字符串形式的电话号码 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 个数字。
【代码】
【C++】
执行用时:
4 ms, 在所有 C++ 提交中击败了37.69%的用户
内存消耗:
6 MB, 在所有 C++ 提交中击败了98.74%的用户

class Solution {
public:
    string reformatNumber(string number) {
        string helpstr[]={"0","1","2","3","4","5","6","7","8","9"};
        string rs="";
        for(auto x:number){
            int temp=x-'0';
            if(temp>=0&&temp<=9)
                rs+=helpstr[temp];
        }
        number=rs;
        rs="";
        while (number.size()>4){
            rs+=number.substr(0,3)+"-";
            number=number.substr(3);
        }
        if(number.size()==4)
            rs+=number.substr(0,2)+"-"+number.substr(2);
        else
            rs+=number;
        return rs;
    }
};
class Solution {
public:
    string reformatNumber(string number) {
        string str, res;
        for (auto &s : number) {
            if (s != ' ' && s != '-') str += s;
        }
        
        res += str[0];
        for (int i = 1; i < str.size(); ++i) {
            if (i % 3 == 0) res += '-';
            res += str[i];
        }
        
        if (res[res.size() - 2] == '-') swap(res[res.size() - 2], res[res.size() - 3]); 
        return res;
    }
};

【python】

class Solution:
    def reformatNumber(self, number: str) -> str:
        rs=""
        for x in number:
            if x != "-" and x!=" ":
                rs+=str(x)
        number=rs
        rs=""
        while len(number)>4:
            rs+=number[:3]+"-"
            number=number[3:]
        if len(number)<=3:
            rs+=number
        else:
            rs+=number[:2]+"-"+number[2:]
        return rs
17、高通8155座舱平台--QNX开发基础 我个人习惯,拿到一个新板子,第一件事就是打开IDE,建一个空的QNX项目,然后跑一遍Hello World。比如,当触摸屏被按下时,驱动发一个脉冲给UI进程,告诉它“嘿,有人摸屏幕了”。我在8155上调试时,就遇到过因为脉冲优先级太低,导致触摸响应延迟的问题。IDE自带的编译器是qcc,它其实是gcc的封装。QNX的IPC机制,可以说是它最牛的地方。嗯,这套流程走下来,你对QNX开发的基本功就差不多了。QNX默认的消息缓冲区大小是64KB,如果你要传大块数据,比如音频流,那就得用共享内存了。 阅读详情

相关推荐

保姆级教程:用OpenCV和MediaPipe在Python里实现实时手势识别(附完整代码)

本文提供了一份详细的Python教程,教你如何使用OpenCV和MediaPipe实现实时手势识别系统。从环境配置、手部关键点检测到手势分类算法,逐步讲解如何构建高精度手势识别应用,适用于智能家居控制、PPT操作等场景。教程包含完整代码示例和性能优化技巧,特别适合计算机视觉初学者和开发者实践。

weixin_28677005的博客 332

【LeetCode】C++ :简单题 - 字符串 1694. 重新格式化电话号码

1694. 重新格式化电话号码 难度简单6 给你一个字符串形式的电话号码number。number由数字、空格' '、和破折号'-'组成。 请你按下述方式重新格式化电话号码。 首先,删除所有的空格和破折号。 其次,将数组从左到右每 3 个一组分块,直到剩下 4 个或更少数字。剩下的数字将按下述规定再分块: 2 个数字:单个含 2 个数字的块。 3 个数字:单个含 3 个数字的块。 4 个数字:两个分别含 2 个数字的块。 最后用破折号将这些块连接起来。注意,重新...

weixin_44566432的博客 545

天融信防火墙NGFW4000(TG-4628)安装配置笔记

配置一台全新的天融信防火墙NGFW4000,配置完后,内网用户10.10.1.0/24和10.10.2.0/24可以通过防火墙上网,外网用户可以通过访问防火墙的外网接口地址来访问内网的WEB服务器10.10.1.200,并且内网用户也可以通过WEB服务器的外网地址进行访问。 网络说明: 防火墙外网接口地址:218.90.123.121/30 防火墙内网接口地址:19...

weixin_33671935的博客 4460

按给定格式输出电话号码

题目描述 编写一个程序,以(xxx) xxx-xxxx的格式输入电话号码,并以xxx.xxx.xxxx的格式输出该电话号码。 输入 输入(xxx) xxx-xxxx格式电话号码。 输出 输出xxx.xxx.xxxx格式电话号码,以"You entered "开头,xxx.xxx.xxxx结尾。注意"entered"后留一个空格。 样例输入 (404) 817-6900 样例输出 You entered 404.817.6900 #include <stdio.h> int main(void)

半濠春水的博客 691

海康威视GigE工业相机的python调用demo

默认路径安装完成后,在路径C:\Program Files (x86)\MVS\Development\Samples\Python\BasicDemo下的BasicDemo.py中,海康威视官方提供了基本的调用方法,本文也是基于这个修改的。BasicDemo.py提供了通过枚举选择相机的方法,在官方的另一个DEMO:ConnectSpecCamera.py中提供了另一种不通过枚举,直接访问特定IP相机的方法,也可以参考。另外,如果每台相机都定义了唯一的用户定义名,也可以通过用户定义名来区分相机。

xulibo5828的博客 2113

智驾系统分层架构:从传感器到执行器的全链路解析

本文深入解析了智能驾驶系统的分层架构,从传感器数据采集融合、应用层决策到车辆管理层执行,完整呈现了从感知到控制的全链路工作流程。文章重点阐述了架构设计的核心优势在于接口标准化与模块解耦,以ACC和LKA协同场景为例,说明了各层级如何通过清晰分工与高效协作,实现复杂系统的可靠、灵活与易于升级。

weixin_29219189的博客 400

重新格式化电话号码

每日一题2022/10/1

青釉Oo的博客 447

编程语言的未来走向:趋势、挑战与机遇

同时,鼓励他们接触和掌握一些专业领域的开发工具和技术框架,比如Web开发中的JavaScript、React.js,数据分析的Python(Pandas, NumPy, Matplotlib等),以及人工智能和机器学习领域的TensorFlow、PyTorch等。当前,全球范围内正积极推动编程教育的普及化,从儿童启蒙阶段到高等教育阶段,乃至终身学习的过程中,如何优化编程语言的教学方法、提高教学质量,并将其广泛应用于不同领域,是教育者与政策制定者面临的重大课题。未来,编程语言的多样化和包容性将会继续加强。

zrc_xiaoguo的博客 1830

初级编程题:电话号码脱敏

0526’解释:13 位数字,2 个数字是国家号码,另外 11 个数字是本地号码。本题保让脱敏处埋前后的电诂号码的长度都是团区间|11,40]上的整数。示例 1:自测输入格式:1(3220)200-520。11位和13位的电话号码后面的处理逻辑都是相同的。输入:"1(3220)200-520’只需要区别对待前几位即可。

m0_48038376的博客 595

GRCNN抓取网络学习2【自制Jacquard数据集训练】

请先完成【机械臂视觉抓取从理论到实战】,这样有利于下面操作的理解!然后第二步是GRCNN抓取网络1【Jacquard数据集等效抓取集制作】,有了自己的数据集输入到GRCNN中是三种文件,接下来就是准备训练GRCNN网络啦!grasps.txtRGB.png本文帮大家根据自制Jacquard数据集训练GRCNN抓取网络,其中包含数据格式的对齐,列举了常见的几种训练方法,相信能坚持到这里的都应该试试顺利了吧!接下来会针对GRCNN调优,期待一下下吧,那就别宁色你的三连。

vor234的博客 2801

SAP 与 Palantir 合作全景解析:这不是普通集成,而是把 ERP、数据语义层、云迁移与企业级 AI 串成一条价值链

SAP与Palantir的战略合作聚焦企业数字化转型核心痛点,通过深度技术整合构建"数据-决策-执行"闭环。合作包含四大主线:云迁移连续性保障、SAP业务数据云与Palantir平台对接、联合工程开发、高监管行业优先落地。技术实现上采用SAP认证插件,支持双向数据交互和实时业务动作触发。该合作突破了传统ERP系统局限,将业务语义与AI执行相结合,特别适合制造业供应链优化、财务争议处理等高价值场景,为企业在云迁移过程中实现业务连续性与智能化升级提供新范式。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 193

前端Vue自定义手机号文本格式化组件手机号码文本转星号

对于cc-format-phone组件,我们可以根据不同的业务需求,拆分出不同的手机号格式化规则。cc-format-phone组件是前端Vue组件的一个示例,可以方便地在uni-app项目中实现手机号文本格式化的功能。组件化开发可以将大型应用分解为一系列独立且可复用的组件,每个组件可以单独开发、测试、维护,并且可以随意组合,大大提高了开发效率和可维护性。对于cc-format-phone组件,我们可以使用Vue CLI等构建工具来构建该组件,并且可以通过uni-app插件市场发布该组件,供其他人使用。

chenchuang0128的博客 667

【企业智能体开发】优化模型成本、延迟与失败降级

小林的培训快开始时,服务台花很久“思考最优回答”,体验并不会更好。反过来,为了省钱而始终选最轻的模型,若连房间、连接方式和任务状态都识别不稳,后续错误检索和重复建单会造成更大代价。企业 Agent 的优化对象不是单次模型调用价格,而是任务在可接受时间内、安全地推进到正确结果的总成本。

Mr数据杨 896

LeetCode-1694. 重新格式化电话号码【字符串,分块】

给你一个字符串形式的电话号码 number 。number 由数字、空格 ’ '、和破折号 ‘-’ 组成。请你按下述方式重新格式化电话号码。首先,删除 所有的空格和破折号。 其次,将数组从左到右 每 3 个一组 分块,直到 剩下 4 个或更少数字。剩下的数字将按下述规定再分块: 2 个数字:单个含 2 个数字的块。 3 个数字:单个含 3 个数字的块。 4 个数字:两个分别含 2 个数字的块。 最后用破折号将这些块连接起来。注意,重新格式化过程中 不应该 生成仅含 1 个数字的块,并且 最多 生成两个含 2

zik的博客 272

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

leetcode - 1694 - 重新格式化电话号码 - 字符串 - 数组 - 模拟

欢迎关注更多精彩 关注我,学习常用算法与数据结构,一题多解,降维打击。 文章目录题目描述题目剖析&信息挖掘解题思路方法一 暴力模拟注意知识点复杂度参考代码实现 题目描述 [1694] 重新格式化电话号码 https://leetcode-cn.com/problems/reformat-phone-number/ 给你一个字符串形式的电话号码 number 。number 由数字、空格 ’ '、和破折号 ‘-’ 组成。 请你按下述方式重新格式化电话号码。 首先,删除 所有的空格和破折号。 其次,

闪电彬彬的博客 277

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

LeetCode刷题-字符串1694:重新格式化电话号码

给你一个字符串形式的电话号码 number。number 由数字、空格 ' '、和破折号 '-' 组成。请你按下述方式重新格式化电话号码。首先,删除 所有的空格和破折号。其次,将数组从左到右 每 3 个一组 分块,直到 剩下 4 个或更少数字。剩下的数字将按下述规定再分块:2 个数字:单个含 2 个数字的块。3 个数字:单个含 3 个数字的块。4 个数字:两个分别含 2 个数字的块。最后用破折号将这些块连接起来。

Not_meli_coco的博客 253

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Leetcode1694. 重新格式化电话号码[C++题解]:字符串模拟题

刷题

阿正的梦工坊 532

leetcode:1694. 重新格式化电话号码【java字符串】

java的String。

小楼一夜听春雨 378

LeetCode每日一题:1694. 重新格式化电话号码(简单) 字符串

LeetCode每日一题:1694. 重新格式化电话号码(简单) 字符串

goblin的博客 208

【Day18】LeetCode算法刷题[1694. 重新格式化电话号码 ] [202.快乐数]

为此,破局的关键就在于识别操作是否会进入死循环,其实这个问题并不算难,当进入了循环,曾经出现过的平方和将会重复循环地出现,当我们遇到重复的平方和时,就能判断它始终不为一,返回false。为了判断是否重复,我们就需要用到存放不可重复数据的集合Set,将平方和存入Set集合中,当新的平方和在集合中出现了,我们就可以返回false,当新的平方和等于一了,我们就可以返回true。需要分组,我们依旧需要遍历集合中的元素,和上面的思路一致,获取集合长度,遍历集合,将集合中的元素重新组成字符串,每遍历到下标与。

ebb29bbe的博客 991

python-leetcode-1694. 重新格式化电话号码

这个问题要求对电话号码进行重新格式化,按一定规则分块,并且确保输出满足特定的格式要求。

Lucy_wzw的博客 910

格式化输入数字_leetcode1694_go_重新格式化电话号码

leetcode1694_重新格式化电话号码01—题目给你一个字符串形式的电话号码 number 。number 由数字、空格 ' '、和破折号 '-' 组成。请你按下述方式重新格式化电话号码。首先,删除 所有的空格和破折号。其次,将数组从左到右 每 3 个一组 分块,直到 剩下 4 个或更少数字。剩下的数字将按下述规定再分块:2 个数字:单个含 2 个数字的块。3 个数字:单个含 3 ...

weixin_29039773的博客 189

力扣(LeetCode)1694. 重新格式化电话号码(C语言)

模拟。

墨染 418

leetcode 耗时100 1694. Reformat Phone Number

邹九的个人博客 181

LeetCode 1624. 两个相同字符之间的最长子字符串 / 698. 划分为k个相等的子集 / 面试题 01.08. 零矩阵 / 1694. 重新格式化电话号码

LeetCode 1624. 两个相同字符之间的最长子字符串 / 698. 划分为k个相等的子集 / 面试题 01.08. 零矩阵 / 1694. 重新格式化电话号码

windyjcy的博客 196

每日一练<1>

顶级域名为 “com” ,二级域名为 “leetcode.com” ,最低一级为 “discuss.leetcode.com”。计数配对域名 是遵循 “rep d1.d2.d3” 或 “rep d1.d2” 格式的一个域名表示,其中 rep 表示访问域名的次数,d1.d2.d3 为域名本身。给你一个 计数配对域名 组成的数组 cpdomains ,解析得到输入中每个子域名对应的 计数配对域名 ,并以数组形式返回。注意 L 是可以向左移动的,所以目标位置的 L 肯定是开始位置的相对位置的左边或者是当下。

Al_tair的博客 1055
上一篇: 【NLP】句法分析学习笔记(一)
下一篇: 【字符串】1624. 两个相同字符之间的最长子字符串
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值