leetcode 93: 复原IP地址 (面试常考)

根据IP的字符串复原IP地址 leetcode93 复原IP地址 之前面试字节跳动遇到该题,当时时间较短,只有大致思路和基本首先框架,没有AC了,今天又正好看见该题。 93. 复原IP地址 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 ‘.’ 分隔。 示例: 输入: "25525511135" 输出: ["255.255.11.135", "255.255.111.35"] 分析:首先明白,什么是一个合法的IP地址:应该分成 阅读详情

题目描述:
有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。

例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “192.168@1.1” 是 无效 IP 地址。
给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 ‘.’ 来形成。你 不能 重新排序或删除 s 中的任何数字。你可以按 任何 顺序返回答案。

示例 1:
输入:s = “25525511135”
输出:[“255.255.11.135”,“255.255.111.35”]

示例 2:
输入:s = “0000”
输出:[“0.0.0.0”]

示例 3:
输入:s = “101023”
输出:[“1.0.10.23”,“1.0.102.3”,“10.1.0.23”,“10.10.2.3”,“101.0.2.3”]

思路:
深搜 回溯
IP地址就是对这个字符串进行划分,划分成四个部分,所以深搜的深度就是4
在搜的过程中需要保证一些要求:
1)所有的字符都得在里面
2)不能大于255
3)要是0的话,一个人占一段

class Solution:
    def restoreIpAddresses(self, s: str) -> List[str]:
        self.res = []
        self.segment = [0] * 4
        def dfs(id, start):
            if id == 4: 
                if start == len(s):
                    addr = '.'.join(str(seg) for seg in self.segment)
                    self.res.append(addr)
                return 
            if id >= 4 or start == len(s):
                return 
            if s[start] == '0':
                self.segment[id] = 0
                dfs(id+1, start+1)
            
            addr = 0
            for end in range(start, len(s)):
                addr = addr * 10 + (ord(s[end]) - ord('0'))
                if 0 < addr <= 255:
                    self.segment[id] = addr
                    dfs(id+1, end+1)
                else:
                    break
        
        dfs(0, 0)
        return self.res
使用MATLAB和Simulink来设计并仿真一个智能家居火灾报警系统 智能家居火灾报警系统旨在通过烟雾传感器、温度传感器等设备监测家庭环境,一旦检测到异常情况(如烟雾或温度骤升),立即触发警报并采取相应措施。在这个教程中,我们将使用MATLAB和Simulink来设计并仿真一个智能家居火灾报警系统,包括数据采集、处理以及响应机制。 阅读详情

相关推荐

多模态特征融合方法总结

由于本人的研究是文本、语音和图像三者模态数据的融合,所以针对的是这三种模态的特征融合方法进行总结。 首先,多模态特征融合的方法大体分为三种

华辰烟雨的博客 9万+

面试热题(复原ip地址)

面试热题(复原ip地址)

一枚数学专业的小码农的博客 1363

Linux之SUSE系统SAP-HANA经常系统内存不足使得SAP应用不能使用解决方案

问题描述 Linux内存使用量超过阈值,使得sap应用程序无可用内存,最终导致程序崩溃。 问题原因 自己查阅了一些资料,也基于zabbix的可用内存和实际不太一样入手去找原因发现问题出现于Cached的值过大,导致系统没有可以再分配的内存空间。Cached只要用来缓存文件的,经常读写的文件会被缓存到Cached中,可以增加读写效率,该功能是Linux系统内核提供的,而SAP-HANA的日志文件很大...

liuxiangyang_的博客 6711

【leetcode】复原IP

回溯算法、回溯算法选择的元素是子串而并非单个元素

weixin_44627672的博客 1304

PTA编程—币值转换

我对于这个题的主要思想就是把九位数分三块,对每块进行处理后,再合并。有了这个思想就开始写代码,后面就是哪有洞补哪,哪个测试用例没通过就对其特殊处理…。反正最后测试用例全通过了。 #include<iostream> #include <string> #include <algorithm> using namespace std; char a[10]={'a','b','c','d','e','f','g','h','i','j'}; //既然题目说了最多9位

uyo9ko的博客 990

CHARLS数据库下载避坑指南:从注册到数据获取的完整流程(2023最新版)

本文提供2023年最新版CHARLS数据库下载与使用全流程指南,涵盖从注册、数据申请到清洗的高效实践。重点解析邮箱选择、协议签署等关键步骤,并分享多线程下载、格式转换等实用技巧,助力研究者快速获取并处理这一中国中老年健康研究的黄金标准数据。

red88的博客 922

leetcode(力扣) 93. 复原 IP 地址(回溯)

还有一点就是题目要求不得删改原s字符中的数值,但是题目s所给长度范围又达到20个,而合法ip最大长度也就是每一段都是3个字符,所以最长也就是12个字符,在这里可以设置一个终止条件,就是所给s长度大于12,则直接return。这道题也是分割,而且比上一个字符串分割感觉看上去要清晰一些,也是找组合的题嘛,回溯嘛,你要问我能不能暴力,我只能说, 可以暴力,看到有人这么做了,N层for,写到怀疑人生。这里的参数非常简单,就一个值,就是startindex,用于记录下次从哪里开始遍历。输入:s = “101023”

深度不学习!!的博客 1354

AI Olympics:面向真实决策的不完全信息博弈评测框架

在人工智能落地实践中,传统基准测试(如MMLU、GSM8K)擅长评估知识调用与静态推理能力,却难以衡量模型在动态、模糊、高代价的真实场景中的策略决策水平。AI Olympics正是为弥补这一断层而生——它以扑克、狼人杀等社会性博弈为载体,系统考察模型在不完全信息下的对手建模、欺骗检测、多步序贯推理与代价敏感执行等核心能力。其技术价值在于将‘黑箱决策’转化为可追踪、可归因、可压力测试的动态思维图谱(DTG),支撑金融风控、智能客服、交通调度等强交互业务场景的能力诊断与持续优化。

weixin_30983965的博客 297

leetcode(力扣) 468. 验证IP地址 (模拟+正则)

IPv4规则:IPv6规则:按照上面的规则一步一步写就可以了。 可以模拟,可以正则。模拟法代码写的比较多,但是很好懂。完整代码 法二(正则): 正则实际上不是整体去正则,那样比较容易出错还很乱,我是先分割了一下,然后再对每一个小块进行正则。有一个比较容易出错地方在判断IPv4的时候,不允许前导0,ipv4的每一个小段里最多3个字符,所以是[1-9]先确定第一个字符不是0。那就还剩下最多2个字符,所以\d{0,2}。完整代码

深度不学习!!的博客 933

黑猫带你学UFS协议第8篇:UFS电气特性详解(Power、CLK、Reset等)

UFS强制支持secure mode。UFS设备可能会存储个人或者公司的信息,UFS提供把数据永久从设备上移除的功能,并且保证对存储介质进行逆向恢复数据也恢复不回来原有数据。安全模式是以逻辑单元为单位进行应用的,不同的逻辑单元可以有不同的安全模式。由于UFS设备的存储介质不同,所以把数据安全从存储介质上移除方式会有不同,spec提供了三种通用的移除方法,UFS设备至少支持其中一种。● 对存储的位置进行一次擦除操作。● 对存储的位置使用单一字符(比如0xAA)覆盖写,然后进行擦除。.........

黑猫奥利奥的博客 4076

scratch经典游戏主题源码分享,包含了20多款经典游戏

经典游戏案例:1、360度角度射击游戏 2、捕鱼达人 3、超级马里奥 4、超级玛丽 5、吃豆人相关 6、穿着喷气背包的海龟 7、大鱼吃小鱼 8、俄罗斯方块 9、飞机大战 10、愤怒的小鸟 11、黄金矿工 12、节奏大师 13、连连看 14、迷宫游戏 15、跑酷游戏 16、扫雷 17、水果忍者 18、坦克大战 19、推箱子 20、消除泡泡 21、保卫萝卜 22、植物大战僵尸

IT_Scratch的博客 1万+

leetcode93. 复原 IP 地址(思路+详解)

一:题目 二:上码 class Solution { /** 思路: 1.跟分割字符串差不多,但是我们需要记录添加的'.'的个数 当其个数等于3的时候 我们就已经切割成4段了。 2.判断字符是否合法 1>:以0开头的数字不合法 2>:遇见非数字字符不合法 3>:大于255不合法 */ private L

qq_48508278的博客 978

基于YOLOv8的野生菌菇检测、识别与分类系统

YOLOv8是YOLO系列模型的最新版本,继承了YOLO系列高效、精确的特点。YOLOv8采用了新的网络架构,并优化了推理速度和检测精度。与传统的目标检测算法(如Faster R-CNN)不同,YOLO模型通过一次前向传播同时完成目标定位与分类,因而具有非常高的计算效率。

YOLO 1284

【Leetcode:93. 复原 IP 地址 + dfs】

【Leetcode:93. 复原 IP 地址 + dfs】有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245"、"192.168.1.312" 和 "192.168@1.1" 是 无效 IP 地址。 给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中

Coder_ljw的博客 955

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Leetcode 93. 复原IP地址 C++

Leetcode 93. 复原IP地址 题目 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 ‘.’ 分隔。 测试样例 输入: "25525511135" 输出: ["255.255.11.135", "255.255.111.35"] 题解 回溯算法 此题是在字符串中选取4段,其中每段的数要小于等于255,且不能有前置0。因此在选取数的时候,我们只要避免选的数有前置0或超过255即可,详细过程见

weixin_43750513的博客 468

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

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

LeetCode 93. 复原 IP 地址(Restore IP Addresses):回溯算法与多语言题解深度解析(doocs/leetcode)

本篇技术指南以开源仓库 doocs/leetcode 中 [93. Restore IP Addresses 英文题解](https://link.gitcode.com/i/d9e1c8b2d71fef42944ab0ddc857912d)(对应中文版见 [README.md](https://link.gitcode.com/i/2d866bc7055166d3a34b1627a01b1427

gitblog_00730的博客 1065

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

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

LeetCode93-复原IP地址

LeetCode93-复原IP地址 题目 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 ‘.’ 分隔。 示例 输入: “25525511135” 输出: [“255.255.11.135”, “255.255.111.35”] 解法 思路:将三个点插入到这一个字符串中,将字符串分割成4个部分,每个部分进行检查,如果是在0-255之间,则成立。 优化剪枝: (1)字符串长度为len,当分割点分割

viva_la__vida的博客 196

LeetCode 93.复原IP地址

有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 ● 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245"、"192.168.1.312" 和 "192.168@1.1" 是 无效 IP 地址。 给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 '.' 来形成。你 不能 重新排序或删除 s 中的

2301_80211119的博客 572

百度提前批面试题,力扣93.复原 IP 地址

这个题不难,平时的我能做出来,面试的时候就不行,看来面试的时候心态也是很重要的一环,这次当长个教训了。

saga_coder的博客 483

​LeetCode刷题实战93:复原IP地址

算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ...

程序IT圈 313

93.复原IP地址 python

给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 ‘.’ 来形成。例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “192.168@1.1” 是 无效 IP 地址。输出:[“1.0.10.23”,“1.0.102.3”,“10.1.0.23”,“10.10.2.3”,“101.0.2.3”]输入:s = “101023”

sysu63的博客 749

LeetCode 93题复原IP地址:回溯算法核心思路与剪枝详解

回溯算法是解决组合与分割问题的经典编程范式,其核心在于通过递归探索所有可能的选择路径,并在不满足条件时撤销选择、返回岔路口。在实际工程与算法面试中,回溯常被用于处理字符串分割、组合枚举等场景,而剪枝技术的合理运用能大幅减少无效计算。LeetCode 93题正是这样一个典型题目:给定一串数字,要求复原所有合法IPv4地址。该题将回溯的递归状态设计、合法性校验与剪枝条件浓缩于一份简洁代码中,是理解回溯原理、锻炼递归思维的理想练手题。通过掌握本题的分割逻辑,还能举一反三解决分割回文串等相似问题,为应对高频算法面试

weixin_33226548的博客 244

代码随想录Day28|93.复原IP地址、78.子集、90.子集II

93.复原IP地址、78.子集、90.子集II

weixin_46620779的博客 1463

字符串、回溯-LeetCode93. 复原IP地址

1、题目描述 https://leetcode-cn.com/problems/restore-ip-addresses/ 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 '.' 分隔。 输入: "25525511135" 输出: ["255.255.11.135", "255.255.111.35"] 2、代码详解 暴力 class Solution(object): d

IOT_victor的博客 297

12GB显存跑125B MoE输出94 tok/s,Strata本地推理引擎的成色到底如何

Strata 本地推理引擎近期因「12GB 显存跑 125B MoE」的标题刷屏。这篇求证式评测只回答一个问题:这些数字能在仓库里找到出处吗?下文按「表象→机理→证据→边界」的顺序,把官方文档、源码注释与社区复现报告逐一核对,分辨信号与泡沫。 ## 一桩热浪,一个待验证的问题 2026 年 9 月底起,「12G 显卡 + 64G 内存起 125B」「token 自由」这类标题在部署平台集中出现

gitblog_00328的博客 92

[leetcode每日一题2020/8/9]93. 复原IP地址

复原IP地址题目思路代码算法复杂度 题目来源于leetcode,解法和思路仅代表个人观点。传送门。 难度:中等 用时:01:00:00 (突然就写出来了) 题目 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 ‘.’ 分隔。 示例: 输入: "25525511135" 输出: ["255.255.11.135", "255.255.111.35"] 思路 由于是ipv4的地址格式,那么分析可以

LittleSeedling的博客 387
上一篇: 单调栈II: leetcode 581、901、42、84
下一篇: leetcode 135: 分发糖果
coding_diamond
博客等级 码龄8年 8粉丝 131原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值