当前位置: 首页 > news >正文

算法第24天|93.复原IP地址、 78.子集、 90.子集II

93.复原IP地址

题目

在这里插入图片描述

思路与解法

class Solution:def restoreIpAddresses(self, s: str) -> List[str]:self.res = []self.backtracking(s, [], 0)return self.resdef backtracking(self, s: str, path, startIdx: int):if startIdx >= len(s) and len(path) == 4:self.res.append('.'.join(path))returnif len(path) > 4:returni = startIdx + 1while i <= len(s):if self.is_addr(s, startIdx, i):path.append(s[startIdx:i])self.backtracking(s, path, i)path.pop()i += 1def is_addr(self, s, startIdx, endIdx):s_int = int(s[startIdx:endIdx])if s[startIdx] == '0' and endIdx - startIdx > 1:return Falseprint(s_int)if s_int >= 0 and s_int <= 255:return Trueelse:return False

78.子集

题目

在这里插入图片描述

思路与解法

class Solution:def subsets(self, nums: List[int]) -> List[List[int]]:self.res = []self.path = []self.backtracking(nums, 0)return self.resdef backtracking(self,nums:List[int], startIdx):self.res.append(self.path[:])if startIdx >= len(nums):returni = startIdxwhile i < len(nums):self.path.append(nums[i])self.backtracking(nums, i+1)self.path.pop()i += 1

90.子集II

题目

在这里插入图片描述

思路与解法

class Solution:def subsetsWithDup(self, nums: List[int]) -> List[List[int]]:self.res = []self.path = []nums.sort()self.backtracking(nums, 0)return self.resdef backtracking(self, nums, startIdx):self.res.append(self.path[:])if startIdx >= len(nums):returni = startIdxwhile i < len(nums):self.path.append(nums[i])self.backtracking(nums, i+1)self.path.pop()i += 1while i < len(nums) and nums[i] == nums[i-1]:i += 1
http://www.dtcms.com/a/202432.html

相关文章:

  • 哈希介绍、哈希表模拟实现
  • 图像噪声模拟
  • Linux在防火墙中添加开放端口
  • 深入解析OrientDB:多模型数据库的技术优势与实际应用
  • git学习与使用(远程仓库、分支、工作流)
  • Git命令使用全攻略:从创建分支到合并的完整流程
  • canvas浅析(一)
  • 操作系统学习笔记第5章 (竟成)
  • mariadb-cenots8安装
  • R语言空间分析实战:地理加权回归联合主成份与判别分析破解空间异质性难题
  • 学习设计模式《十》——代理模式
  • Node.js AI 通义灵码 VSCode 插件安装与功能详解
  • NLP学习路线图(二): 概率论与统计学(贝叶斯定理、概率分布等)
  • 基于CNN的猫狗识别(自定义Resnet-18模型)
  • 一文讲清python、anaconda的安装以及pycharm创建工程
  • 【HTTP】connectionRequestTimeout与connectTimeout的本质区别
  • Python 计算机网络TCP网络应用程序开发
  • 【动态规划】P10988 [蓝桥杯 2023 国 Python A] 走方格|普及+
  • 25.5.20学习总结
  • 【Python 算法零基础 4.排序 ③ 插入排序】
  • C#中使用SharpSvn和TortoiseSVN操作SVN版本控制系统的完整指南
  • GraphPad Prism工作表的管理
  • SQLMesh 内置宏详解:@PIVOT等常用宏的核心用法与示例
  • 全排列问题深度解析:为何无需index参数且循环从i=0开始?
  • [创业之路-369]:企业战略管理案例分析-9-战略制定-差距分析的案例之华为
  • C#入门系列【基础类型大冒险】从0到1,解锁编程世界的“元素周期表”
  • 阿尔泰科技助力电厂——520为爱发电!
  • MCP 协议传输机制大变身:抛弃 SSE,投入 Streamable HTTP 的怀抱
  • C语言:基础篇之常见概念
  • Redis从入门到实战 - 高级篇(中)