代码训练营day24 回溯算法

回溯算法part03

93.复原IP地址

题目链接/文章讲解:代码随想录 

视频讲解:回溯算法如何分割字符串并判断是合法IP?| LeetCode:93.复原IP地址_哔哩哔哩_bilibili

本题关键在于终止条件

  1. 插入3个’.’时判断

ip地址最后一段是否合法:

    1. 传入参数,修改后的字符串,起始位置,终止位置(左闭又闭,传入的是每ip地址中的每一段数字,所以要注意循环遍历的条件涵盖起始位置和终止位置)
    2. 起始位置不能大于终止位置,放置访问越界
    3. 不能含有前导0
    4. 含有非正整数数值
    5. 整数值不能大于255(通过ascii码将字符转换成数字
  1. 单层循环逻辑
    1. 需要判断地址的每一段是否符合条件,任何一段不符合结束本层递归
    2. 插入位置写法
    3. 实时更新插入‘.’的数量
    4. 下层递归的位置i+2
    5. 回溯

78.子集

题目链接/文章讲解:代码随想录 

视频讲解:回溯算法解决子集问题,树上节点都是目标集和! | LeetCode:78.子集_哔哩哔哩_bilibili

终止条件:当层索引值==树的宽度结束

单层递归逻辑:将给定数组的数值加入vec,并将vec存入结果

90.子集II

题目链接/文章讲解:代码随想录  

视频讲解:回溯算法解决子集问题,如何去重?| LeetCode:90.子集II_哔哩哔哩_bilibili

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值