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

93.复原IP地址

class Solution {
public:vector<string> result;bool isValid(const string& s, int start, int end){if (start > end){return false;}if (s[start]=='0' && start != end){return false;}int num = 0;for (int i=start; i<=end; i++){if (s[i] > '9' || s[i]< '0'){ //非法字符return false;}num = num * 10 + (s[i] - '0');if (num > 255){ //如果大于255了不合法return false;}}return true;}void BackTracking(string& s, int startIndex, int pointNum){if (pointNum == 3){if (isValid(s, startIndex, s.size()-1)){result.push_back(s);}return ;}for (int i=startIndex; i<s.size(); i++){if (isValid(s, startIndex, i)){s.insert(s.begin()+i+1, '.'); //insertpointNum++;BackTracking(s, i+2, pointNum);pointNum--;s.erase(s.begin()+i+1);}else break; //不合法 直接结束循环}}vector<string> restoreIpAddresses(string s) {result.clear();if (s.size() < 4 || s.size()>12) return result;BackTracking(s, 0, 0);return result;}
};

78.子集

class Solution {
public:vector<vector<int>> result;vector<int> path;void BackTracking(vector<int>& nums, int index){result.push_back(path);if (index >= nums.size()){return ;}for (int i=index; i<nums.size(); i++){path.push_back(nums[i]);BackTracking(nums, i+1);path.pop_back();}}vector<vector<int>> subsets(vector<int>& nums) {result.clear();path.clear();BackTracking(nums, 0);return result;}
};

90.子集II

class Solution {
public:vector<vector<int>> result;vector<int> path;void BackTracking(vector<int>& nums, int index){result.push_back(path);if (index >= nums.size()){return ;}for (int i=index; i<nums.size(); i++){path.push_back(nums[i]);BackTracking(nums, i+1);path.pop_back();}}vector<vector<int>> subsets(vector<int>& nums) {result.clear();path.clear();sort(nums.begin(), nums.end());BackTracking(nums, 0);return result;}
};

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

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

相关文章

设计模式总结-桥接模式

桥接模式 模式动机模式定义模式结构模式分析桥接模式实例与解析实例一&#xff1a;模拟毛笔 模式优缺点 模式动机 设想如果要绘制矩形、圆形、椭圆、正方形&#xff0c;我们至少需要4个形状类&#xff0c;但是如果绘制的图形需要具有不同的颜色&#xff0c;如红色、绿色、蓝色…

linux内核网络源码分析--功能专用字段‘每日读书’

linux内核是模块化的&#xff0c;允许你选择要包含什么以及省略什么。因此&#xff0c;只有当内核编译位支持特定功能时候&#xff0c;如防火墙或者Qos&#xff0c;某些字段才会包含在sk_buff数据结构中。 unsigned long nfmark __u32 nfcache __u32 nfctinfo struct nf_conntr…

xss.pwnfunction-Ugandan Knuckles

这个是把<>过滤掉了所以只能用js的事件 ?weya"onfocus"alert(1337)" autofocus"

基于springboot的社区医疗服务系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

数据结构面试题报错调试方法记录

栈和队列报错调试 1.用栈实现队列 232. 用栈实现队列 - 力扣&#xff08;LeetCode&#xff09; 此题解题思路如下&#xff1a; 先将数据放在pushst栈里面&#xff0c;popst栈为空再把pushst栈里面的数据放进popst栈里面去&#xff0c;不为空则不执行。不为空时候直接拿取栈…

基于C语言实现 SQL数据库和链表的相互转换

使用的函数介绍 这里sqlite3_open、sqlite3_close就不介绍了 sqlite3_prepare_v2()&#xff1a; 函数原型&#xff1a;int sqlite3_prepare_v2(sqlite3* db, const char* zSql, int nByte, sqlite3_stmt** ppStmt, const char** pzTail);作用&#xff1a;准备 SQL 语句以供执…

WSL2迁移后默认登陆用户为root的解决方案

第一步&#xff0c;在wsl的root用户下面用vim打开/etc/wsl.conf文件 vim /etc/wsl.conf第二步&#xff0c;在文件中添加以下代码, 仅需把user_name替换成你原来wsl的用户名即可 [user] defaultuser_name如 [user] defaultpengyuyan重启wsl,在powershell下输入 wsl --shutdo…

【GDB】GDB解CORE文件

目录 一 GDB解析CORE文件(Linux) 二 GDB解析CORE文件(QNX) 在 Linux 系统中,当一个进程发生崩溃或异常时,它会生成一个所谓的 core dump 文件,其中包含了该进程的内存映像和一些调试信息。这个文件可以用于分析和解决崩溃问题,以便了解进程崩溃时的状态和原因

多模态text-image模型之ITM loss(blip)

主要代码&#xff1a; # forward the positve image-text pair # 正向传播正面的图像文本对 output_pos self.text_encoder.bert(encoder_embedstext_embeds, attention_masktext.attention_mask,encoder_hidden_statesimage_embeds,encoder_attention_maskimage_atts, …

【技术笔记】Ubuntu下VirtualBox不能识别USB解决办法(手把手解决)

环境说明 系统版本&#xff1a;Ubuntu 20.04 VirtualBox版本&#xff1a; 7.0.12 解决过程 扩展下载&#xff0c;进入VirtualBox 官方下载路径。选择本机安装版本&#xff0c;如下图所示&#xff0c;因笔者是7.0.x版本&#xff0c;因此点击第一条链接&#xff1b; 进入版本页…

机器学习(30)

文章目录 摘要一、文献阅读1. 题目2. abstract3. 网络架构3.1 Sequence Generative Adversarial Nets3.2 SeqGAN via Policy Gradient3.3 The Generative Model for Sequences3.4 The Discriminative Model for Sequences(CNN) 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过…

慢SQL问题排查

慢SQL问题排查是一个系统性的过程&#xff0c;它涉及到对数据库性能、查询优化以及系统资源的深入理解。 1. 收集慢查询日志 启用慢查询日志&#xff1a;大多数数据库系统&#xff08;如MySQL、PostgreSQL等&#xff09;都支持慢查询日志功能。启用该功能后&#xff0c;数据库…

关于npm和yarn的使用(自己的问题记录)

目录 一 npm 和 yarn 常用命令 二 package.json中 devDependencies 和 dependencies 的区别。 三 npm安装包时&#xff0c;加 --save和不加的区别 一 npm 和 yarn 常用命令 备注&#xff1a;以下命令以 axios 为例。 未完&#xff1a;待续。。。。 二 ​​​​​​​ …

【Vue3源码学习】— CH2.7 Computed: Vue 3 计算属性深入解析

Computed: Vue 3 计算属性深入解析 1.计算属性的基本用法2. ComputedRefImpl 类深入解析JavaScript 中的 getter 函数 3. 计算属性的创建&#xff1a;computed 方法解析3.1 源码解析3.2 使用示例 4. 计算属性的工作原理5. 手动实现简化的计算属性6. 结语 在 Vue 3 的响应式系统…

【教程】VOC数据集制作

语义分割任务中VOC数据集的制作&#xff0c;任务中只有一种标签&#xff1a;gas 文章目录 1、由黑白图像识别为txt标签2、txt转json3、数据集转VOC格式 1、由黑白图像识别为txt标签 由于使用CycleGAN网络进行风格迁移学习&#xff0c;生成了大量伪标签图像&#xff0c;因此需…

【递归与递推】数的计算|数的划分|耐摔指数

1.数的计算 - 蓝桥云课 (lanqiao.cn) 思路&#xff1a; 1.dfs的变量>每一次递归什么在变&#xff1f; &#xff08;1&#xff09;当前数的大小一直在变&#xff1a;sum &#xff08;2&#xff09;最高位的数&#xff1a;k 2.递归出口&#xff1a;最高位数字为1 3.注意&#…

鱼塘钓鱼(c++实现)

题目 有 N 个鱼塘排成一排&#xff0c;每个鱼塘中有一定数量的鱼&#xff0c;例如&#xff1a;N5 时&#xff0c;如下表&#xff1a; 即&#xff1a;在第 1 个鱼塘中钓鱼第 1 分钟内可钓到 10 条鱼&#xff0c;第 2 分钟内只能钓到 8 条鱼&#xff0c;……&#xff0c;第 5 分…

Codeforces Round 932 (Div. 2) ---- F. Andrey‘s Tree ---- 题解

F. Andreys Tree&#xff1a; 题目描述&#xff1a; 思路解析&#xff1a; 我们假设删除任意一个结点后&#xff0c;我们会将整个树切分为k个联通块&#xff0c;那么可以明确的知道我们只需要连接(k-1)条边就可以将这k个联通块重新连为一棵树。 那么最小代价是啥呢? 图解分…

0基础进入IT行业

0基础如何进入IT行业&#xff1f; 简介&#xff1a;对于没有任何相关背景知识的人来说&#xff0c;如何才能成功进入IT行业&#xff1f;是否有一些特定的方法或技巧可以帮助他们实现这一目标&#xff1f; 方向一&#xff1a;学习路径 对于零基础进入 IT 行业的人来说&#xff…

第十五题:最大距离

题目描述 在数列 a1,a2,⋯ ,an​中&#xff0c;定义两个元素 ai 和 aj​ 的距离为∣i−j∣∣ai−aj∣&#xff0c;即元素下标的距离加上元素值的差的绝对值&#xff0c;其中 ∣x∣ 表示 x 的绝对值。 给定一个数列&#xff0c;请问找出元素之间最大的元素距离。 输入描述 …