代码随想录算法训练营第二十八天|93.复原IP地址 ● 78.子集 ● 90.子集II

93.复原IP地址


随想录文字讲解:代码随想录 (programmercarl.com)

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

状态:做出来了


与昨天的分隔子串很像。要点在于如何分割ip串,终止条件(有三个点后判断最后一段是不是地址),如何判断是不是地址,在s串本身上操作很方便。



 78.子集  


随想录文字讲解:代码随想录 (programmercarl.com)

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

状态:做出来了


子集里面的元素是无序的,{2,1}和{1,2}是一样的,所以for循环从startindex开始。若是有序就从0开始。而且这道题收集的是树上的叶子节点,每个都要收集,别忘了空集。



90.子集II 


随想录文字讲解:代码随想录 (programmercarl.com)

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

状态:做出来了


是去重和子集的一道复合题。注意去重的简便方法有用startindex和used数组两种,当递归时为i+1都可以用,递归时传递i则只能用used数组(为了跳过已入栈的元素)

用 if(i>startindex&&nums[i]==nums[i-1]) continue;可判断同一层相同元素是否被用过

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值