Day28 回溯算法 part04

Day28 回溯算法 part04

93.复原IP地址

我的思路:
在分割回文串代码的基础上改写,需要考虑多种情况
不合法的IP地址part:长度>1同时首数字为0 || 长度=0 || 长度>3 || >255
将各个part结合起来添加 ”." 的时候,需要分前三part和最后一个,因此回溯完删除的范围也需要分别考虑

class Solution {public List<String> res = new ArrayList();public StringBuffer path = new StringBuffer();public List<String> restoreIpAddresses(String s) {if(s == null || s.length() == 0) {return new ArrayList();}backtracing(s, 0, 0);return res;}public void backtracing(String s, int startIndex, int partNum) {if(partNum == 4) {if(startIndex == s.length()) {StringBuffer sb = new StringBuffer(path);res.add(sb.toString());}return;}for(int i = startIndex; i < s.length(); i++) {String part = s.substring(startIndex, i + 1);if(isValid(part)) {if(partNum < 3) {path.append(part);path.append('.');backtracing(s, i + 1 , partNum + 1);path.delete(path.length() - part.length() - 1, path.length());}else {path.append(part);backtracing(s, i + 1, partNum + 1);path.delete(path.length() - part.length(), path.length());}  }else {break;}}}public boolean isValid(String s) {if(s.length() == 0 || s.length() > 3 || (s.charAt(0) == '0' && s.length() > 1) || Integer.parseInt(s) > 255) {return false;}return true;}
}

78.子集

我的思路:
不需要考虑返回情况,将path全部加到result集合中

解答:

class Solution {public List<Integer> path = new ArrayList();public List<List<Integer>> res = new ArrayList();public List<List<Integer>> subsets(int[] nums) {Arrays.sort(nums);backtracing(nums, 0);return res;}public void backtracing(int[] nums, int startIndex) {res.add(new ArrayList(path));for(int i = startIndex; i < nums.length; i++) {path.add(nums[i]);backtracing(nums, i+1);path.remove(path.size() - 1);}}
}

90.子集II

我的思路:
在上一题的基础上,判断要添加到path,在result里面是不是已经存在
另外模仿组合的做法进行了剪枝

解答:

class Solution {public List<Integer> path = new ArrayList();public List<List<Integer>> res = new ArrayList();public List<List<Integer>> subsetsWithDup(int[] nums) {Arrays.sort(nums);backtracing(nums, 0);return res;}public void backtracing(int[] nums, int startIndex) {if(hasNums(path, res)) {res.add(new ArrayList(path));}for(int i = startIndex; i < nums.length; i++) {if(i > startIndex && nums[i] == nums[i-1]) {continue;}path.add(nums[i]);backtracing(nums, i+1);path.remove(path.size() - 1);}}public boolean hasNums(List<Integer> path, List<List<Integer>> res) {for(List l : res) {if(path.equals(l)){return false;}}return true;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/756924.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Halcon学习笔记]实现多边形绘图后自动闭合成斜矩形

1、介绍 在Halcon联合开发项目中&#xff0c;需要在Halcon窗口上绘制不同形状的ROI&#xff0c;但是Halcon自带的绘图操作不太方便&#xff0c;操作时交互感官较差&#xff0c;所以可以通过绘制多边形&#xff0c;通过点来绘制多边形&#xff0c;最后通过闭合算子将绘框形成闭…

大数据技术学习笔记(十三)—— HBase

目录 1 Hbase 概述1.1 Hbase 定义1.2 HBase 数据模型1.2.1 HBase 逻辑结构1.2.2 HBase 物理存储结构1.2.3 数据模型 1.3 HBase 基本架构 2 HBase Shell 操作2.1 基本操作2.2 namespace 操作2.3 表操作 3 HBase 原理深入3.1 RegionServer 架构3.2 HBase 写流程3.3 MemStore Flus…

WPF —— 控件模版和数据模版

1:控件模版简介: 自定义控件模版&#xff1a;自己添加的样式、标签&#xff0c;控件模版也是属于资源的一种&#xff0c; 每一个控件模版都有一唯一的 key&#xff0c;在控件上通过template属性进行绑定 什么场景下使用自定义控件模版&#xff0c;当项目里面多个地方…

Sentinel(流控模式:直接关联链路,流控效果:直接预热排队)

Sentinel能够对流量进行控制&#xff0c;主要是监控应用的QPS流量或者并发线程数等指标&#xff0c;如果达到指定的阈值时&#xff0c;就会被流量进行控制&#xff0c;以避免服务被瞬时的高并发流量击垮&#xff0c;保证服务的高可靠性。 1.流控模式: 直接模式测试案例 表示1…

【Spring】聊一聊Autowired和Resource

聊一聊Autowired和Resource 对于日常使用来说&#xff0c;在Spring容器中&#xff0c;两个注解的功能基本是等价的&#xff0c;他们都可以将bean注入到对应的field中。 他们之间主要有以下几个关键的区别&#xff1a; 来源不同 Autowired 是 Spring 框架提供的注解&#xff0…

微信小程序项目实战遇到的问题

我们以学生成绩平台来作为例子。这是我们想得到的效果。 以下是完整代码&#xff1a; index.js // index.js Page({//页面的初始数据data: {hello: 欢迎进入微信小程序的编程世界,score: 80,userArray: [{name: 张三,score: [66, 77, 86, 70, 90]},{name: 李四,score: [88, 7…

如何让自己上百度百科?个人百科词条创建

百度百科&#xff0c;作为我国最大的中文百科全书&#xff0c;其影响力和权威性不言而喻。能够登上百度百科&#xff0c;意味着个人的知名度、成就和社会影响力得到了广泛认可。那么&#xff0c;如何才能让自己上百度百科呢&#xff1f;接下来伯乐网络传媒就来给大家讲解一下。…

MyBatis3源码深度解析(十六)SqlSession的创建与执行(三)Mapper方法的调用过程

文章目录 前言5.9 Mapper方法的调用过程5.10 小结 前言 上一节【MyBatis3源码深度解析(十五)SqlSession的创建与执行(二)Mapper接口和XML配置文件的注册与获取】已经知道&#xff0c;调用SqlSession对象的getMapper(Class)方法&#xff0c;传入指定的Mapper接口对应的Class对象…

MongoDB聚合运算符:$getField

文章目录 语法使用举例包含点号(.)的查询查询以($)开头的字段子文档字段查询 $getField聚合运算符返回文档中指定字段的值&#xff0c;字段名可以包含点.或以$开头。如果不指定&#xff0c;$getField将$$CURRENT作为字段返回。 语法 {$getField: {field: <String>,inpu…

自然语言处理:人机交流的桥梁

引言&#xff1a; 自然语言处理&#xff08;Natural Language Processing&#xff0c;NLP&#xff09;作为人机交流的桥梁&#xff0c;在当今数字化社会中扮演着至关重要的角色。它不仅是计算机科学和人工智能领域中的一项重要技术&#xff0c;更是将人类语言与计算机智能相结…

2024年智慧城市、人文发展与区域经济国际会议(ICSCCDRE 2024)

2024年智慧城市、人文发展与区域经济国际会议&#xff08;ICSCCDRE 2024&#xff09; 2024 International Conference on Smart Cities, Cultural Development and Regional Economy 会议简介&#xff1a; 城市经济人文发展是一个综合性的过程&#xff0c;它关注城市在经济、…

C#,图论与图算法,计算无向连通图中长度为n环的算法与源代码

1 无向连通图中长度为n环 给定一个无向连通图和一个数n,计算图中长度为n的环的总数。长度为n的循环仅表示该循环包含n个顶点和n条边。我们必须统计存在的所有这样的环。 为了解决这个问题,可以有效地使用DFS(深度优先搜索)。使用DFS,我们可以找到特定源(或起点)的长度…

字节抖音电商一面

字节抖音电商一面 问的很细&#xff0c;由项目一个小点入手&#xff0c;一直深问。 MVVN与原生js写的优势&#xff08;每个优势一定跟MVVN有关吗&#xff0c;细问&#xff09;http1,2,3的区别——出了个题&#xff0c;问10个请求在tcp的传输下&#xff0c;在不同的http里面各…

十一、MYSQL 基于MHA的高可用集群

目录 一、MHA概述 1、简介 2、MHA 特点 3、MHA 工作原理&#xff08;流程&#xff09; 二、MHA高可用结构部署 1、环境准备 2、安装MHA 监控manager 3、在manager管理机器上配置管理节点&#xff1a; 4、编master_ip_failover脚本写 5、在master上创建mha这个用户来访…

web容器导论

一、基础概念 1.Web容器是什么&#xff1f; 让我们先来简单回顾一下Web技术的发展历史&#xff0c;可以帮助你理解Web容器的由来。 早期的Web应用主要用于浏览新闻等静态页面&#xff0c;HTTP服务器&#xff08;比如Apache、Nginx&#xff09;向浏览器返回静态HTML&#xff…

轻松解锁微博视频:基于Perl的下载解决方案

引言 随着微博成为中国最受欢迎的社交平台之一&#xff0c;其内容已经变得丰富多彩&#xff0c;特别是视频内容吸引了大量用户的关注。然而&#xff0c;尽管用户对微博上的视频内容感兴趣&#xff0c;但却面临着无法直接下载这些视频的难题。本文旨在介绍一个基于Perl的解决方…

React 19的变化

并发模式&#xff08;非实验&#xff09;: React 的并发模式终于从实验阶段毕业了。这一改变游戏规则的功能允许 React 应用程序同时准备多个版本的 UI。有着更平滑的过渡和更灵敏的用户体验&#xff0c;因为 React 现在可以处理高优先级更新&#xff0c;同时保持应用程序的交互…

PHP/后端/Tp/fastadmin/消息通知企业微信机器人

第一步&#xff0c;先在企业微信的群聊里面添加一个机器人。 第二步&#xff0c;复制获取机器人的WebHook地址 第三步&#xff0c;拼接发送内容 public function webhook(){//机器人webhook地址 $url https://qyapi.weixin.qq.com/cgi-bin/webhook/send?keyca8c9c-72b1-4faf-…

安卓面试题多线程46-50

46. Volatile 能够保证线程间的变量可见性,是不是就意味着基于 volatile 变量的运算就是并发安全的?volatile修饰的变量在各个线程的工作内存中不存在一致性的问题(在各个线程工作的内存中,volatile修饰的变量也会存在不一致的情况,但是由于每次使用之前都会先刷新主存中的…

FPGA的应用方向

文章目录 FPGA是什么&#xff1f;FPGA的发展FPGA有哪些公司国内的FPGA发展如何&#xff1f;国内FPGA应用情况怎样&#xff1f;FPGA的发展方向有哪些&#xff1f;FPGA在工业界的应用有哪些&#xff1f;FPGA在科研界的方向有哪些&#xff1f;FPGA在高频信号处理的应用场景FPGA应用…