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

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

题目

93.复原IP地址

有效 IP 地址 正好由四个整数(每个整数位于 0255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。

  • 例如:"0.1.2.201" "192.168.1.1"有效 IP 地址,但是 "0.011.255.245""192.168.1.312""192.168@1.1"无效 IP 地址。

给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 '.' 来形成。你 不能 重新排序或删除 s 中的任何数字。你可以按 任何 顺序返回答案。

class Solution:def restoreIpAddresses(self, s: str) -> List[str]: res = []pointNum = 0self.backstracking(s, 0, 0, "", res)return resdef backstracking(self, s, pointNum, starIndex, curPath, res):if pointNum == 3:if self.isValid(s, starIndex, len(s)-1):curPath += s[starIndex:]res.append(curPath)returnfor i in range(starIndex, len(s)):if self.isValid(s, starIndex, i):sub = s[starIndex: i+1]self.backstracking(s, pointNum+1, i+1, curPath+sub+'.', res)def isValid(self, s, starIndex, endIndex):if starIndex > endIndex:return Falseif starIndex < endIndex and s[starIndex] == '0':return Falsesum_ = 0for i in range(starIndex, endIndex+1):if not s[i].isdigit():return Falsesum_ = sum_ * 10 + int(s[i])if sum_ > 255:return Falsereturn True

题目

78.子集

给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。

解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。

class Solution:def subsets(self, nums: List[int]) -> List[List[int]]:res = []used = [False] * len(nums)self.backtracking(0, [], nums, res)return resdef backtracking(self, startIndex, curPath, nums, res):res.append(curPath[:])for i in range(startIndex, len(nums)):curPath.append(nums[i])self.backtracking(i+1, curPath, nums, res)curPath.pop()

题目

90.子集II

给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。

解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。

class Solution:def subsetsWithDup(self, nums: List[int]) -> List[List[int]]:res = []nums.sort()self.backstracking(nums, 0, [], res)return resdef backstracking(self, nums, startIndex, curPath, res):if curPath not in res:res.append(curPath[:])for i in range(startIndex, len(nums)):curPath.append(nums[i])self.backstracking(nums, i+1, curPath, res)curPath.pop()

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

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

相关文章

2019年认证杯SPSSPRO杯数学建模B题(第二阶段)外星语词典全过程文档及程序

2019年认证杯SPSSPRO杯数学建模 基于统计和迭代匹配的未知语言文本片段提取模型 B题 外星语词典 原题再现&#xff1a; 我们发现了一种未知的语言&#xff0c;现只知道其文字是以 20 个字母构成的。我们已经获取了许多段由该语言写成的文本&#xff0c;但每段文本只是由字母…

注意!不清楚这些,2024上半年软考别轻易尝试!

看着周围的朋友们纷纷去考软考&#xff0c;很多人也跃跃欲试了吧。那我劝你&#xff0c;如果不清楚这些&#xff0c;不要轻易考2024年软考&#xff01; 01 软考介绍 软考是计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试的简称&#xff0c;由工信部、人社部领导…

面试经典150题(84-84.5)

leetcode 150道题 计划花两个月时候刷完&#xff0c;今天&#xff08;第四十二天&#xff09;完成了1道(84)150&#xff1a; 84.&#xff08;17. 电话号码的字母组合&#xff09;题目描述&#xff1a; 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合…

使用Go语言的HTTP客户端和服务器

使用Go语言进行HTTP客户端和服务器开发是一种高效且强大的方式。Go语言的标准库提供了对HTTP协议的全面支持&#xff0c;使得创建HTTP客户端和服务器变得简单。 首先&#xff0c;让我们来看一下如何创建一个简单的HTTP服务器。在Go中&#xff0c;可以使用net/http包来创建HTTP…

HNU-计算机网络-实验5(自选)-安全相关编程实验

计算机网络 课程综合实验安全相关编程实验&#xff08;RUST&#xff09; 计科210X 甘晴void 202108010XXX 【前言】 这个《课程综合实验》是21级开始新加的实验&#xff0c;之前都没有。具体的可以看实验指导书&#xff0c;是用的19级同学的毕设。我完成的这个实验需要一点点R…

left join NULL踩坑

1、背景 因为最近响应监管&#xff0c;做数据全面匿名化的需求。会在写入数据库时&#xff0c;把姓名身份证做MD5处理后&#xff0c;只保留32位的前30位&#xff0c;保证即使拿到处理后的数据&#xff0c;也无法复原&#xff0c;恢复到源数据。 相应的&#xff0c;大数据BDP …

java-方法-动动小手指给个一键三连吧❤️✨

文章目录 1.概念2.静态方法和非静态方法2.1静态方法2.2非静态方法 3 参数传递方式4.方法的重载5.命令行传参6.可变参数7.递归作业 1.概念 在面向对象编程中&#xff0c;方法&#xff08;Method&#xff09;是类或对象中用于执行特定任务的一段代码。方法可以访问和操作对象的属…

第十四讲_css媒体查询

css媒体查询 1. 媒体查询介绍2. 媒体类型3. 媒体特征3.1 常用的媒体特征 4. 逻辑运算符 1. 媒体查询介绍 CSS 媒体查询&#xff08;media query&#xff09;是响应式设计的关键组成部分&#xff0c;你可以根据各种设备特征和参数是否存在以及对应的值是否满足条件来应用不同的…

layabox_2d游戏A*寻路实践

使用工具 Red Blob Games 效果 项目地址 LayaAStar2D: Laya2.0引擎2D游戏使用AStar实践。

69_Pandas.DataFrame获取行号和列号

69_Pandas.DataFrame获取行号和列号 将讲解如何从pandas.DataFrame的行名和列名中获取行号和列号&#xff0c;以及如何从列元素的值中获取行名和行号。 下面对内容进行说明。 根据行名和列名获取行号和列号 get_loc() 方法 当行名和列名重复时 列表索引、列 从列元素值获取行…

深入理解 Flink(八)Flink Task 部署初始化和启动详解

JobMaster 部署 Task 核心入口&#xff1a; JobMaster.onStart();部署 Task 链条&#xff1a;JobMaster --> DefaultScheduler --> SchedulingStrategy --> ExecutionVertex --> Execution --> RPC请求 --> TaskExecutor TaskExecutor 处理 JobMaster 的 …

Few-shot Learning:知识点

目标&#xff1a; 让机器自己学会学习&#xff0c;学会理解和判断事物的异同&#xff08;如&#xff0c;区分两张图片内是相同的东西还是不同的东西&#xff0c;不是识别出是什么东西&#xff09; Pretraining 前景知识 C o s i n e S i m i l a r i t y Cosine \ Similarity…

❤ Uniapp使用二 ( 日常使用篇)

❤ Uniapp使用二 ( 日常使用篇) 一、表单 1、基础表单验证 form <form submit"formSubmit" reset"formReset"> <view class"uni-form-item uni-column"><view class"title">请选择类型{{selectvalue}}</view&…

Pandas实战100例 | 案例 63: 使用索引合并数据

案例 63: 使用索引合并数据 知识点讲解 在 Pandas 中&#xff0c;除了按列合并数据外&#xff0c;还可以使用 DataFrame 的索引进行合并。这在索引具有特定意义时特别有用。 使用索引合并: 通过指定 left_indexTrue 和 right_indexTrue&#xff0c;可以基于 DataFrame 的索引…

Go语言中的HTTP请求发送

在Go语言中&#xff0c;发送HTTP请求是一种常见的网络操作。Go语言的net/http包提供了强大的API&#xff0c;使开发者能够轻松地构建HTTP请求并处理响应。 下面我们将详细介绍如何使用Go语言发送HTTP请求&#xff0c;包括设置请求参数、处理响应状态码和头部信息、发送JSON数据…

2024年,如何更好地守护智能网联汽车出海网络安全与隐私安全?

近年来全球各国陆续出台了很多网络安全与数据合规相关的法律法规&#xff0c;如欧盟的《通用数据保护准则GDPR》、美国的《加州消费者信息保护法CCPA》、新加坡的《隐私数据保护法PDPA》等。在国内全国人大发布了《网络安全法》、《数据安全法》、《个人信息保护法》法律&#…

poi解析word取参数方法${参数名}获取参数异常处理(2024-01-12)

poi 读取word模板&#xff0c;确保 ${参数名} 在一个XWPFRun XWPFDocument读取word模板&#xff0c;经常遇到 ${参数名} 没有被识别在一个XWPFRun中&#xff0c;导致参数解析异常如法实现参数替换。 这里只是介绍word模板参数解析问题&#xff0c;让word格式如何转换为可以正常…

【MATLAB随笔】遗传算法优化的BP神经网络(随笔,不是很详细)

文章目录 一、算法思想1.1 BP神经网络1.2 遗传算法1.3 遗传算法优化的BP神经网络 二、代码解读2.1 数据预处理2.2 GABP2.3 部分函数说明 一、算法思想 1.1 BP神经网络 BP神经网络&#xff08;Backpropagation Neural Network&#xff0c;反向传播神经网络&#xff09;是一种监…

解析HTTP响应的JSON数据

解析HTTP响应的JSON数据是许多Web开发任务中的常见需求。在Go语言中&#xff0c;可以使用标准库中的encoding/json包来轻松解析JSON数据。下面我将详细介绍如何解析HTTP响应的JSON数据。 首先&#xff0c;确保你已经发送了一个HTTP请求并获取到了响应。然后&#xff0c;你可以…

智能管理护航制造企业安全生产:信息化升级解决方案解析-亿发

安全生产信息化是通过充分利用信息技术&#xff0c;及时采集安全生产管理中的各种要素和数据&#xff0c;并进行统计分析&#xff0c;随后将分析结果及时反馈&#xff0c;以实现对安全生产管理的指导和帮助&#xff0c;旨在提高安全生产管理的效能。 在提升安全生产管理水平方…