news 2026/6/9 19:49:21

算法-回溯-14

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
算法-回溯-14

力扣-真题-复原IP地址


IP地址, 一个数字 转换成四个, 需要用三个标点符号,
其实就是三次选择, 选择的位置不能 一样,
同时 这个标点符号 前的数字 需要满足

  • 前缀不能为0 ,
  • 数字 在 0 到 255 (当 字符串的长度大于3 直接break),
  • 然后 递归截止的条件是 三次选择做完 ,
  • 同时需要注意 剩下的位数, 应该足够后面剩下 的数字数量, 比如 计算 第一个数字的时候, 就需要保留至少3位数 ,少了 就不可能拼成IP。
    代码如下
publicstaticList<String>restoreIpAddresses(Strings){List<String>result=newArrayList<>();getResult(0,0,s,result,"");returnresult;}publicstaticvoidgetResult(intpointNum,intindex,Strings,List<String>result,StringtemResult){if(pointNum==3){Stringsubstring=s.substring(index);if(substring.length()>1&&substring.charAt(0)=='0')return;if(substring.length()>3)return;inti=Integer.parseInt(substring);if(i>255)return;result.add(temResult+substring);return;}for(inti=index;i<s.length();i++){intsize=3-pointNum;if(size>s.length()-i-1)break;Stringtem=s.substring(index,i+1);System.out.println(tem);if(tem.length()>1&&tem.charAt(0)=='0')break;inttemNum=Integer.parseInt(tem);if(temNum>255)break;getResult(pointNum+1,i+1,s,result,temResult+tem+".");}}

复杂度

时间复杂度:O(1) - 固定的递归深度
因为对于一个IP地址,最多只能有3个点,每个点最多分割3位数字,所以递归的深度是固定的,最多只有4段,每段最多3个字符。这意味着递归的路径数量是有限的,不会随着输入字符串长度无限增长

空间复杂度:O(1) - 固定的递归深度和有限的结果数量

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/31 6:08:32

YOLO与Prometheus Thanos Ruler集成:跨集群告警规则

YOLO与Prometheus Thanos Ruler集成&#xff1a;跨集群告警规则 在智慧园区、智能制造和边缘视觉分析等场景中&#xff0c;一个日益突出的挑战是&#xff1a;如何将AI推理服务的“智能输出”真正纳入企业级监控体系&#xff1f;传统的做法往往是把YOLO这类目标检测模型当作黑盒…

作者头像 李华
网站建设 2026/6/10 12:07:02

STL专项:vector 变长数组

以下内容为学习过程中所记录的笔记 推荐引入万能头文件 #include<bits/stdc.h> //万能头文件 / 预编译头文件&#xff0c;它的本质是包含了 C 标准库中几乎所有常用的头文件&#xff08;比如输入输出、字符串、容器、算法、数学函数等&#xff09; using namespa…

作者头像 李华
网站建设 2026/6/10 12:14:00

YOLO模型训练资源使用趋势预测:基于历史数据分析

YOLO模型训练资源使用趋势预测&#xff1a;基于历史数据分析 在智能制造工厂的质检线上&#xff0c;一台AOI&#xff08;自动光学检测&#xff09;设备每秒拍摄数十张PCB板图像&#xff0c;系统必须在200毫秒内完成缺陷识别并决定是否停机。这样的高实时性要求背后&#xff0c;…

作者头像 李华
网站建设 2026/6/10 11:49:35

采样率、信号频谱/频谱混叠原理与matlab仿真分析

目录 1.采样率(fs​)与采样定理——奈奎斯特采样定理 2.信号的频谱分析 连续信号 离散信号 3.频谱混叠 1.采样率(fs​)与采样定理——奈奎斯特采样定理 采样率是指对连续模拟信号进行离散化时&#xff0c;每秒采集的样本点数&#xff0c;单位为Hz(赫兹&#xff0c;1Hz1个样…

作者头像 李华
网站建设 2026/6/10 11:47:51

《创业之路》-761-《架构思维:从程序员到CTO》第四部 - 架构师的职业规划与能力成长:从执行者到战略引领者的跃迁,技术、业务与软技能的三角支撑。

一、职业规划&#xff1a;从执行者到战略引领者的跃迁阶段划分与目标设定短期&#xff08;1-3年&#xff09;&#xff1a;夯实技术基础&#xff0c;掌握至少一门主流编程语言&#xff08;如Java、Python&#xff09;&#xff0c;熟悉分布式系统、微服务架构等设计理念&#xff…

作者头像 李华