[LeetCode] Restore IP Addresses 回溯
Given a string containing only digits, restore it by returning all possible valid IP address combinations.
For example:
Given "25525511135",
return ["255.255.11.135", "255.255.111.35"]. (Order does not matter)
这题是一道回溯题,其实记录好断开的位置便容易处理了。我使用的便是递归搜索的方法,用一个数组记录了断开的位置。
#include <string>
#include <vector>
#include <iostream>
using namespace std; class Solution {
public:
vector<string> restoreIpAddresses(string s) {
vector<string> ret;
if(s.size()<) return ret;
int idx[] = {,,,};
helpFun(ret,s,idx,);
return ret;
} void helpFun(vector<string> &ret,string & s,int * idx, int id)
{
if(id==){
// for(int i =0;i<4;i++)
// cout<<idx[i]<<" ";
// cout<<endl;
if(helpFun2(s.substr(idx[])))
ret.push_back(s.substr(idx[],idx[]-idx[])+"."+
s.substr(idx[],idx[]-idx[])+"."+
s.substr(idx[],idx[]-idx[])+"."+
s.substr(idx[]) );
return ;
}
for(int i =idx[id-]+;i<s.length();i++){
if(helpFun2(s.substr(idx[id-],i-idx[id-]))){
idx[id] = i;
helpFun(ret,s,idx,id+);
}
else
return ;
}
} bool helpFun2(string s)
{
if(s.length()==&&s[]=='') return true;
if(s[]=='') return false;
int sum = ;
for(int i=;i<s.length();i++){
sum = sum* + s[i]-'';
if(sum>) return false;
}
return true;
}
}; int main()
{
string s="";
Solution sol;
vector<string> ret = sol.restoreIpAddresses(s);
for(int i=;i<ret.size();i++)
cout<<ret[i]<<endl;
return ;
}
[LeetCode] Restore IP Addresses 回溯的更多相关文章
- LeetCode: Restore IP Addresses 解题报告
Restore IP Addresses My Submissions Question Solution Given a string containing only digits, restore ...
- [LeetCode] Restore IP Addresses 复原IP地址
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
- [leetcode]Restore IP Addresses @ Python
原题地址:https://oj.leetcode.com/problems/restore-ip-addresses/ 题意: Given a string containing only digit ...
- LeetCode——Restore IP Addresses
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
- LeetCode Restore IP Addresses
DFS class Solution { public: vector<string> restoreIpAddresses(string s) { return insertDot(s, ...
- 【leetcode】Restore IP Addresses
Restore IP Addresses Given a string containing only digits, restore it by returning all possible val ...
- leetcode 93. Restore IP Addresses(DFS, 模拟)
题目链接 leetcode 93. Restore IP Addresses 题意 给定一段序列,判断可能组成ip数的所有可能集合 思路 可以采用模拟或者DFS的想法,把总的ip数分成四段,每段判断是 ...
- 【LeetCode】93. Restore IP Addresses
Restore IP Addresses Given a string containing only digits, restore it by returning all possible val ...
- LeetCode解题报告—— Reverse Linked List II & Restore IP Addresses & Unique Binary Search Trees II
1. Reverse Linked List II Reverse a linked list from position m to n. Do it in-place and in one-pass ...
随机推荐
- 第4章 HDFS操作
目录 4.1 命令行操作 4.2 Java API操作 4.2.1 创建Java工程 4.2.2 读取数据 4.2.3 创建目录 4.2.4 创建文件 4.2.5 删除文件 4.2.6 遍历文件和目录 ...
- QToolBox学习笔记
抽屉控件效果类似于QQ界面 最外面一层叫工具盒QToolBox QToolBox中装的是QGroupBox,分组的盒子 在分组的盒子QGroupBox中装的是QToolButton.
- 蓝桥杯-历届试题 剪格子(dfs)
历届试题 剪格子 时间限制:1.0s 内存限制:256.0MB 问题描述 如下图所示,3 x 3 的格子中填写了一些整数. +--*--+--+|10* 1|52|+--**** ...
- python使用网易邮箱发邮件
# -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMEText import email.mime.multip ...
- impala presto SparkSql性能测试对比
目标是为测试impala presto SparkSql谁的性能更佳,以下结果底层查询的都是普通textfile snappy压缩后数据,规模为15台机器,若以orcfile.parquet速度能 ...
- ISCSI网络存储
ISCSI(iSCSI,Internet Small Computer System Interface) iSCSI技术实现了物理硬盘设备与TCP/IP网络协议的相互结合,使得用户可以通过互联网方便 ...
- 12 Django组件-forms组件
forms组件 校验字段功能 针对一个实例:注册用户讲解. 模型:models.py class UserInfo(models.Model): name=models.CharField(max_l ...
- https refused 解决方法
今天调试Android程序,所有的手机都ok,后来,我一个手机一直说,refused. 其实这就说明代码是没有问题的,你应该可以根据这个把代码的原因排除.然后剩下的,网络请求还能有什么,网路白. 果然 ...
- elasticsearch安装教程
目录 1 java8 环境 2 安装elasticsearch 3 安装kibana 4. 单服务器部署多个节点 参考: 1 java8 环境 elasticsearch需要安装java 8 环境,配 ...
- 网易云深度剖析Kubernetes优化与实践
欢迎访问网易云社区,了解更多网易技术产品运营经验. 10 月 15 日,聚焦 Kubernetes 中国行业应用与技术落地的首届中国 Kubernetes 用户大会(KEUC)在杭州成功举办.本次大会 ...