93. 复原IP地址

LeetCode 93. 复原IP地址 | Python 使用回溯的思路,解决 LeetCode 《93. 复原 IP 地址》问题 阅读详情

题目
在这里插入图片描述
递归。
官网解析如下:
在这里插入图片描述

递归的编写水平还是太低了,主要还是思想上不到位。

class Solution {
    static final int SEG_COUNT=4;
    List<String> ans=new ArrayList<String>();
    int[] segment=new int[SEG_COUNT];

    public List<String> restoreIpAddresses(String s) {
        dfs(s,0,0);
        return ans;
    }

    private void dfs(String s,int segId,int segStart){
        if(segId==SEG_COUNT){
            if(segStart==s.length()){
                StringBuffer ipAddr=new StringBuffer();
                for(int i=0;i<SEG_COUNT;i++){
                    ipAddr.append(segment[i]);
                    if(i!=SEG_COUNT-1){
                        ipAddr.append('.');
                    }
                }
                ans.add(ipAddr.toString());
            }
            return;
        }

        if(segStart==s.length()){
            return;
        }

        if(s.charAt(segStart)=='0'){
            segment[segId]=0;
            dfs(s,segId+1,segStart+1);
        }

        int addr=0;
        for(int segEnd=segStart;segEnd<s.length();segEnd++){
            addr=addr*10+(s.charAt(segEnd)-'0');
            if(addr>0&&addr<=255){
                segment[segId]=addr;
                dfs(s,segId+1,segEnd+1);
            }else{
                break;
            }
        }
    }
}
Leetcode 93 题 复原IP地址 题目描述 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 有效的 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。 例如"0.1.2.201" 和 “192.168.1.1” 这两个地址是 有效的 IP 地址,但是 对于这些地址"0.011.255.245"、“192. 阅读详情

相关推荐

题94. 二叉树的中序遍历

C++ // Recursion class Solution { public: vector<int> inorderTraversal(TreeNode *root) { vector<int> res; inorder(root, res); return res; } void inorder(TreeNode *root, vector<int> &res) { ...

漠宸离若的博客 398

93 复原IP地址

93 复原IP地址 回溯 class Solution { static final int SEG_COUNT=4; List<String> ans=new ArrayList<>(); int[] segments = new int[SEG_COUNT]; public List<String> restoreIpAddresses(String s) { dfs(s,0,0); return a

zone的博客 114

ctfshow---sql注入(171-213)

这里提一句,为什么不直接替换成acb这种,因为,flag原本就有字母,还原的时候会全部都还原成数字的,数字替换成符号应该也是可以的,这边测试了下除了&#好像别的符号都可以。插入查询后查询语句就会变成这样,由于id=11111这是一个不存在的id,而后面1=1又为真,所以会查询到表内所有的内容,--+是注释后面的字符。因为接受username的时候没有用引号,所以接受单纯的数字,而数字和字符比较会转换类型,字符串会变成数字0进行比较,所以相等。

fainpo的博客 1320

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 中的任何数.

WisdomXLH的博客 2047

开源光标主题实战:从Moshi Monsters到自定义指针的完整指南

光标主题是操作系统个性化的重要组成部分,它通过替换系统默认指针图标来改变视觉交互体验。其原理在于操作系统允许用户自定义指针资源文件,这些文件定义了不同状态下的光标图像。从技术价值看,一套设计良好的光标主题不仅能提升桌面美观度,还能增强用户的情感连接和操作愉悦感,是低成本高回报的数字幸福感提升方案。在应用场景上,无论是开发者、设计师还是普通用户,都可以通过更换光标主题来个性化工作环境。本文以热门的Moshi Monsters开源光标项目为例,深入解析了光标主题的设计逻辑、系统适配方案以及二次创作方法,涵盖了W

weixin_30879833的博客 564

AD元件库构建及维护之——DbLib公共元件库的使用教程

AD元件库构建及维护之——DbLib元件库的使用教程

qq_43105486的博客 2万+

[Leetcode 每日一题] 复原IP地址

Level: Medium 题目: 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 ‘.’ 分隔。 示例: 输入: "25525511135" 输出: ["255.255.11.135", "255.255.111.35"] 思路 每个整数位于 0 到 255 之间组成,所以对于第一个片段的选取,有三种情况: (1)选 “2” 这一个数字 (2)选 “25” 这两个数字 (3)选 “255” 这三

诗酒趁年华 361

2025年第十六届蓝桥杯省赛C/C++大学B组 个人题解

也是写了写部分题解,朱波也是狠狠水了个省二┭┮﹏┭┮,毕竟许多算法知识没怎么学。

2301_80173664的博客 2431

力扣93题:复原 IP 地址

每次递归处理当前字符串片段,尝试将其分割为一个有效的 IP 地址部分。

weixin_48941116的博客 1491

别再乱设阻尼了!Abaqus动力分析中瑞利阻尼的α和β到底怎么算?

本文深入解析Abaqus动力分析中瑞利阻尼参数α和β的科学计算方法,帮助工程师准确设置阻尼参数以提升仿真精度。详细介绍了基于模态阻尼比的经典计算方法和多模态优化法,并结合工程案例演示参数设置流程,避免常见的阻尼设置误区。

weixin_42634811的博客 731

24GHz雷达DIY呼吸监测仪:用树莓派+TI IWR6843搭建生命体征检测系统(附Python代码)

本文详细介绍了如何利用树莓派和TI IWR6843毫米波雷达模块DIY非接触式呼吸监测仪。通过硬件选型、信号处理流水线设计和实时可视化系统搭建,实现高精度的生命体征检测,特别适合医疗健康和运动监测场景。附带的Python代码帮助开发者快速复现该系统。

rl6adventurer的博客 985

93. 复原 IP 地址(力扣LeetCode)

私有函数cheak用于验证给定字符串的子串是否为有效的IP地址段,而backstracking是一个递归函数,负责穷举并检查所有可能的IP地址组合。给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 ‘.’ 来形成。:这段代码中使用了一个string path来存入当前正在构建的 IP 地址,存的时候是如果符合条件就直接存入了,所以回溯的时候要整段的回溯,即整段的删除。来尝试所有可能的点分隔符插入位置,从而形成有效的IP地址段。

m0_73841621的博客 1679

SpringBoot从入门到精通(全)

前言 ==本博文结合软件idea进行主要讲解== **springboot的特性主要有** - 简化 Spring 应用程序的创建和开发过程 - 抛弃了繁琐的 xml 配置过程,采用大量的默认配置简化以及注解反射 - 直接使用 java main 方法启动内嵌的 Tomcat 服务器运行 Spring Boot 程序,不需要部署 war 包文件 **四大核心**分别为自动配置、起步依赖、Actuator和命令行界面

码农研究僧的博客 7万+

93.复原IP地址

文章目录题目思路问题1:问题2:问题3:问题4:代码运行结果总结 题目 ''' Description: 93.复原IP地址 Autor: 365JHWZGo Date: 2022-01-03 10:43:21 LastEditors: 365JHWZGo LastEditTime: 2022-01-03 12:03:53 Author: localhost ''' 思路 这道题很巧妙,应用型也很强,把回溯算法和IP地址有效地结合在一起,很考验人的思维能力。 我的整体思路是: IP可用看作是四个部分A

MyHeartWillGoOn 1098

后仿真中的必懂VCS仿真选项之initreg和deposit

后仿真中,我们常常对于没有复位寄存器和存储器单元,使用仿真选项之initreg和deposit,两种处理方式。今天做总结。请注意:请勿将两者进行同时使用。对于到底选取哪种方式,要结合实际的情况决断。但是,两者同时使用,会有冲突,得不到预期结果。

那么菜的博客 4331

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

leetcode 93 复原ip地址

leetcode 93 复原ip地址 垃圾大爆搜。。。虽然似乎题解思路也差不多。。。但是自己代码就是垃圾。 代码: class Solution { List<String> res = new ArrayList<>(); String ip = ""; int p = 0; void trackBack(int pos, String s){ if(pos == 4 && p == s.length()){

qq_43513855的博客 201

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

(回溯) LeetCode 93. 复原IP地址

本题相较于之前的题目会有一些难以理解,但是多思考就能懂了,所以大家一定要坚持,没有什么学不会,只要你肯吃苦,就一定有吃不完的苦!说错了,报意思,一定会成功的!!加油!!时间复杂度:O(N^2);空间复杂度:O(N)。

zth12212003的博客 1001

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

力扣:93. 复原 IP 地址

题目: 力扣:93. 复原 IP 地址 写法:暴力求解 代码: public List<String> restoreIpAddresses(String s) { //存放最后的输出结果 List<String> list=new ArrayList<String>(); //长度 int n=s.length(); //存放临时的 String[] strArr =new

Seanliuo 1409

【Leetcode | 】93. 复原IP地址

class Solution { public: vector<string> strs;//用于存放临时的四个段 vector<string> result;//存放结果 void dfs(string &s, int beginIndex, int step) { if (step == 4 &&amp...

月雲之霄的博客 127

LeetCode [93] 复原IP地址

LeetCode [93] 复原IP地址题目描述题目分析源码改进改进代码分析 题目描述 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 示例: 输入: “25525511135” 输出: [“255.255.11.135”, “255.255.111.35”] 题目分析 这道题题目很短,可以说是做过里面最短的了,但是边界却出奇的多,我们来列一下到底要考虑多少东西,我们从极端...

Astronote的博客 410

【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

leetcode第93题复原ip地址

原题出于正好由四个整数(每个整数位于0到255之间组成,且不能含有前导0),整数之间用'.'分隔。给定一个只包含数字的字符串s,用以表示一个 IP 地址,返回所有可能的,这些地址可以通过在s中插入'.'来形成。你重新排序或删除s中的任何数字。你可以按顺序返回答案需注意:递归深度为3次,需要设置变量pointsum记录。

2301_81316166的博客 308

LeetCode93-复原IP地址

这两天刚看了一部电影 片名叫神探 这部电影讲述的是: 一位患有人格分裂能看清人内心的鬼的天才警察 受另一位警察所托去调查一件神秘案件的故事 电影的结局是我觉得最出人意料的地方 我这儿就不剧透了 真的是看得我震惊 另外补充一点: 刘青云真的是演技炸裂,炸到爆!!! 一个人撑起了一部戏! 93-复原IP地址 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 ...

飞奔的菜猪的博客 228

【华为机试】93. 复原 IP 地址

文章摘要: 本文介绍了复原有效IP地址的算法问题,要求将数字字符串分割为4个0-255的整数段(无前导0),用"."连接。推荐使用回溯算法:递归尝试1-3位数字分割,验证段有效性(范围、前导0),当生成4个有效段且用完字符时保存结果。时间复杂度O(3^4),空间复杂度O(n)。提供了Go代码实现,包含段验证函数和回溯主逻辑,并对比了暴力枚举和动态规划方法。通过流程图和搜索树图解算法过程,强调需处理长度、前导0、数值范围等边界条件,附有测试用例示例说明典型场景。

qq_32019341的博客 1267
上一篇: 傅里叶级数与傅里叶变化
下一篇: 99. 恢复二叉搜索树
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值