086. 分割回文子字符串

用substr枚举 因为是连续的 不是放与不放的问题

class Solution {
public:
vector<vector<string>>ans;
vector<string>path;
bool check()
{
for(string x:path)
{
for(int i=0;i<x.size();i++)
{
if(x[i]!=x[x.size()-1-i])return false;
} }
return true;
}
void dfs(int x,string s)
{
if(x==s.size())
{
if(check())ans.push_back(path);
return ;
}
for(int i=1;i<=s.size()-x;i++)
{
string z=s.substr(x,i);//x开始长度为i path.push_back(z);
dfs(x+i,s);
path.pop_back();
}
}
vector<vector<string>> partition(string s) {
dfs(0,s);
return ans; }
};

087. 复原 IP

剪枝

class Solution {
public:
vector<string>ans;
vector<string>path;
int tonum(string x)
{
int sum=0;
for(int i=0;i<x.size();i++)
{
sum=sum*10+x[i]-'0';
}
return sum;
}
bool check()
{
for(string x: path)
{
if(x.size()>3)return false;
if(x.size()>1&&x[0]=='0')return false;//前导0
if(tonum(x)>255)return false;//IP }
return true; }
void dfs(int x, string s)
{
if(x==s.size())
{
if(path.size()!=4)return ;
if(check())
{
string k;
for(string x:path)
{
k+=x;
k+=".";
}
k=k.substr(0,k.size()-1);
ans.push_back(k);
}
}
for(int i=1;i<=s.size()-x;i++)
{
string temp=s.substr(x,i);//以x为起点 长度为i的字符串放进去
path.push_back(temp);
dfs(x+i,s);
path.pop_back();
}
}
vector<string> restoreIpAddresses(string s) {
if(s.size()>4*3)return ans;//数据范围3000吓唬谁呢 255 255 255 255
dfs(0,s);//下标
return ans;
}
};

剑指 Offer II 回溯法的更多相关文章

  1. 刷题-力扣-剑指 Offer II 055. 二叉搜索树迭代器

    剑指 Offer II 055. 二叉搜索树迭代器 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/kTOapQ 著作权归领扣网络所有 ...

  2. 【剑指 Offer II 001. 整数除法】同leedcode 29.两数相除

    剑指 Offer II 001. 整数除法 解题思路 在计算的时候将负数转化为正数,对于32位整数而言,最小的正数是-2^31, 将其转化为正数是2^31,导致溢出.因此将正数转化为负数不会导致溢出. ...

  3. 剑指Offer——II平衡二叉树

    class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None # 这道题使用中序遍历加上 ...

  4. 【力扣】剑指 Offer II 092. 翻转字符

    题目 解题思路 一个很暴力的想法,在满足单调递增的前提下,使每一位分别取 1 或 0,去看看哪个结果小. 递归函数定义int dp(StringBuilder sb, int ind, int pre ...

  5. 剑指Offer——回溯算法

    剑指Offer--回溯算法 什么是回溯法 回溯法实际是穷举算法,按问题某种变化趋势穷举下去,如某状态的变化用完还没有得到最优解,则返回上一种状态继续穷举.回溯法有"通用的解题法"之 ...

  6. 剑指Offer——回溯算法解迷宫问题(java版)

    剑指Offer--回溯算法解迷宫问题(java版)   以一个M×N的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍.设计程序,对任意设定的迷宫,求出从入口到出口的所有通路.   下面我们来详细讲一 ...

  7. 学会从后往前遍历,例 [LeetCode] Pascal's Triangle II,剑指Offer 题4

    当我们需要改变数组的值时,如果从前往后遍历,有时会带来很多麻烦,比如需要插入值,导致数组平移,或者新的值覆盖了旧有的值,但旧有的值依然需要被使用.这种情况下,有时仅仅改变一下数组的遍历方向,就会避免这 ...

  8. [简单-剑指 Offer 53 - II. 0~n-1中缺失的数字]

    [简单-剑指 Offer 53 - II. 0-n-1中缺失的数字] 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0-n-1之内.在范围0-n-1内的n个数字中有且只有一 ...

  9. 剑指 Offer 68 - II. 二叉树的最近公共祖先 + 最近公共祖先(LCA)

    剑指 Offer 68 - II. 二叉树的最近公共祖先 Offer_68_2 题目详情 题解分析 java代码 package com.walegarrett.offer; /** * @Autho ...

  10. 剑指 Offer 58 - II. 左旋转字符串 + 简单题

    剑指 Offer 58 - II. 左旋转字符串 Offer_58_2 题目描述 java代码 package com.walegarrett.offer; /** * @Author WaleGar ...

随机推荐

  1. python新冠疫情分析-世界疫情数据爬取

    事情发展:1.毕业设计是关于疫情数据的可视化展示(基于java,需要做数据可视化,需要做管理员端对数据进行增删改查处理)2.飞起来速度学爬虫,参考了非常多资料,比如b站的黑马爬取(报错,就是在切片那里 ...

  2. Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation

    1.出现问题 查询数据时报如题错误 2.解决方案 建表时需指定字符集,例如: -- ---------------------------- -- Table structure for testTa ...

  3. vue+.net入门级书签项目

    vu3+.net6 webApi 书签管理项目 前言 Gitee项目地址:https://gitee.com/zyplj/book-marks Github项目地址:https://github.co ...

  4. DELLR740服务器安装centos7.9操作系统时发现无法检测到硬盘

    问题:RAID卡:PERC H750 安装centos7.9操作系统时发现无法检测到硬盘 解决办法: 1.需要先配置RAID2.如果不配RAID的话,需要在F2选项中的RAID配置中开启NON-RAI ...

  5. OWASP 靶机下载

    OWASP靶机下载安装详细过程一. OWASP靶机下载二. VM虚拟机三. OWASP安装四. OWASP启动运行一. OWASP靶机下载下载地址:https://sourceforge.net/pr ...

  6. CTF之WEB学习路线规划

    前言 受大佬Lzer0Kx(公众号:LK安全)启发,打算整一篇关于CTF-web的学习路线的分享.当然也算是给一些刚入门的小白的一些学习方向,不至于不知道学啥.废话少说,开整! 以下的所有内容属于我个 ...

  7. Lucky Tree

    题目:http://codeforces.com/problemset/problem/109/C 题意:一棵树n个节点,组成一个图,每条边都有权值,对于i.j.k三个数,计算所有的 i 到 j 和 ...

  8. 推荐系统[八]算法实践总结V0:腾讯音乐全民K歌推荐系统架构及粗排设计

    1.前言:召回排序流程策略算法简介 推荐可分为以下四个流程,分别是召回.粗排.精排以及重排: 召回是源头,在某种意义上决定着整个推荐的天花板: 粗排是初筛,一般不会上复杂模型: 精排是整个推荐环节的重 ...

  9. 在Django中显示MySQL语句

    在setting中添加以下内容 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console' ...

  10. [转载]python跨文件使用全局变量的实现

    python跨文件使用全局变量的实现 更新时间:2022-10-25 14:46:38发布时间:602天前 朗读 Python 定义了全局变量的特性,使用global 关键字修饰 1 global k ...