首页 > 编程语言 >今天练习2-回溯算法-93. 复原 IP 地址

今天练习2-回溯算法-93. 复原 IP 地址

时间:2024-02-18 11:01:51浏览次数:46  
标签:index return IP self len start 回溯 path 93

注意点&感悟:

  • 加油!

题目链接:93. 复原 IP 地址

自己独立写的代码:

class Solution:
    def restoreIpAddresses(self, s: str) -> List[str]:
        res = []
        self.backtracking(s,0,[],res)
        return res
    
    def backtracking(self,s,start_index,path,result):
        # 退出条件1,不满足的
        if len(path) > 4:
            return
        # 退出条件2 找到满足要的
        if len(path) == 4 and start_index == len(s):    # 等于4 且 切到末尾了
            result.append(".".join(path))
        
        # 核心
        for i in range(start_index,len(s)):
            # 判断合法性 s[start_index:i+1]
            if self.is_valid(s[start_index:i+1]):
                path.append(s[start_index:i+1])
                self.backtracking(s,i+1,path,result)
                path.pop()

    def is_valid(self,s):
        if s[0] == "0" and len(s) > 1:
            return False
        if int(s) > 255:
            return False
        return True

通过截图:

标签:index,return,IP,self,len,start,回溯,path,93
From: https://www.cnblogs.com/liqi175/p/18018937

相关文章

  • 今天练习-回溯算法-93. 复原 IP 地址
    注意点&感悟:难吗?不难。难的是克服畏难的心里。题目链接:93.复原IP地址自己独立写的代码:fromtypingimportListclassSolution:defrestoreIpAddresses(self,s:str)->List[str]:res=[]self.backtracking(s,0,[],res)return......
  • day28 回溯算法part4 代码随想录算法训练营 93. 复原 IP 地址
    题目:93.复原IP地址我的感悟:加油!理解难点:开始没理解,start_index的含义start_index是切割后的位置信息。代码难点:代码示例:fromtypingimportListclassSolution:defrestoreIpAddresses(self,s:str)->List[str]:#找3个分割点?#最后......
  • macOS Sonoma 14.3.1 (23D60) 正式版发布,ISO、IPSW、PKG 下载
    macOSSonoma14.3.1(23D60)正式版发布,ISO、IPSW、PKG下载本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。请访问原文链接:https://sysin.org/blog/ma......
  • nginx 配置ipv6
    nginx 配置ipv6注意:从Nginx1.3的某个版本起,默认ipv6only是打开的。ipv6兼容ipv4端口模式不可以复用,复用会显示端口被占用,意思是不能部署两个server,要想复用,用本文中最后那个方法。一、只监听IPV61、方法一server{....listen[::]:80;...}2、方法二server{..........
  • 10 个图像悬停效果 CSS & JavaScript 代码片段
    悬停效果一直是向网站添加交互元素的最简单方法之一,我们看到它们经常用于突出显示文本链接或按钮。悬停效果尤其强大的一个领域是当它们应用于图像时,无论是作为小型卡片布局的一部分还是大型相册的一部分,都可以产生很棒的效果。今天,我们将向您展示设计师将悬停效果集成到图像中的......
  • P1011 [NOIP1998 提高组] 车站
    题目描述火车从始发站(称为第11站)开出,在始发站上车的人数为aa,然后到达第22站,在第22站有人上、下车,但上、下车的人数相同,因此在第22站开出时(即在到达第33站之前)车上的人数保持为aa人。从第33站起(包括第33站)上、下车的人数有一定规律:上车的人数都是前两站上车人数......
  • P1541 [NOIP2010 提高组] 乌龟棋题解
    有两种方法,代码注释都很详细了直接上代码一:记忆化搜索#include<bits/stdc++.h>usingnamespacestd;intt[15];intn,m;inta[400];intmp[45][45][45][45];//mp[i][j][k][l]表示1号用i张,2号用j张,3号用k张,4号用l张的情况下,最多能拿多少分intdfs(intstep,intw)//step......
  • python的xlrd读取Excel数据失败: raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_form
    使用xlrd读取Excel的xlsx格式表格里的数据,读取失败,报错:raiseXLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+';notsupported')xlrd.biffh.XLRDError:Excelxlsxfile;notsupported原因,xlrd为2.0.1版本,更新版本后,xlrd不支持xlsx格式数据的读取了,果断减低版本先卸载2.0......
  • NOIP 突破营
    基础算法枚举与搜索DFS深度优先。BFS广度优先。剪枝记忆化搜索,最优性剪枝,可行性剪枝。A*剪枝一种,估价函数(当前局面\(+\)最小估价函数),类似Dijkstra的贪心。【路径规划】全局路径规划算法——A*算法(含python实现|c++实现)例题-三连击枚举\([100,999]\)......
  • P9325 [CCC 2023 S2] Symmetric Mountains
    原题链接题解,请看题解区————能不能利用已经算过的值来减少后续计算量呢?如果你toolongonline2:n为一的时候只输出零code#include<bits/stdc++.h>usingnamespacestd;inta[5005]={0};intf[5005][5005]={0};intmain(){intn;cin>>n;for(inti=1......