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

德阳定制建站网站建设报价山东16市最新疫情

德阳定制建站网站建设报价,山东16市最新疫情,百度网站抓取时间查询,网站如何做广告复原 IP 地址 leetcode93. 复原 IP 地址回溯算法代码演示 回溯算法 leetcode93. 复原 IP 地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。 例如:“0.1.2…

复原 IP 地址

  • leetcode93. 复原 IP 地址
    • 回溯算法
    • 代码演示
  • 回溯算法

leetcode93. 复原 IP 地址

有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 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 中的任何数字。你可以按 任何 顺序返回答案。

示例 1:
输入:s = “25525511135”
输出:[“255.255.11.135”,“255.255.111.35”]

示例 2:
输入:s = “0000”
输出:[“0.0.0.0”]

示例 3:
输入:s = “101023”
输出:[“1.0.10.23”,“1.0.102.3”,“10.1.0.23”,“10.10.2.3”,“101.0.2.3”]

提示:
1 <= s.length <= 20
s 仅由数字组成

回溯算法

设计递归函数为 void dfs(int idx, int n, List cur),其中 idx 和 n 分别代表当前处理字符串 s 的哪个位置,以及字符串 s 的总长度,而 cur 的则是代表子串部分的具体划分方案
用题目样例 s = “25525511135” 作为 🌰,n 固定为 11,当 idx = 3 时,cur 为s[0…2] = 255,部分的划分方案,cur 可能是 [2,5,5]、[2,55]、[25,5]、[255] 之一,在 cur 的基础上,我们继续爆搜剩余部分,即递归执行 dfs(idx, n, cur),算法会将剩余部分的划分方案添加到 cur 上,我们只需要确保每次追加到 cur 的数值符合要求即可(没有前导零 且 范围在 [0,255]中.

在单次回溯过程中,我们可以将 idx 作为当前划分数字的左端点,通过枚举的形式找到右端点 j.
当 idx = n 代表整个 s 已经处理完成,若此时 cur 恰好有 个元素,说明我们找到了一组合法方案,将其拼接成字符串追加到答案数组中。同时也是由于划分过程中 cur 最多只有 个元素,我们可以用此做简单剪枝。

代码演示

   ArrayList<String> ans = new ArrayList<>();char[]cs;public   List<String> restoreIpAddresses(String s){if (s == null || s.length() < 4){return new ArrayList<>();}cs = s.toCharArray();dfs(0,new ArrayList<>());return ans;}/*** 回溯算法* @param index* @param cur*/public  void dfs(int index,List<Integer>cur){if (index > cs.length){return;}if (index == cs.length){if (cur.size() == 4){StringBuilder sb = new StringBuilder();for (int i = 0;i < 4;i++){sb.append(cur.get(i)).append(".");}ans.add(sb.substring(0,sb.length() - 1));}}else {for (int i = index;i < cs.length;i++){int t = 0;for (int j = index;j <= i;j++){t = t * 10 + (cs[j] - '0');}if (cs[index] == '0' && i != index){break;}if (t > 255){break;}cur.add(t);dfs(i + 1,cur);cur.remove(cur.size() - 1);}}}

回溯算法

leetcode131. 分割回文串

http://www.ds6.com.cn/news/4521.html

相关文章:

  • 如何给网站做app国外推广渠道平台
  • 贵州建设厅网站官网刷关键词怎么刷
  • 安阳网站开发竞价推广平台
  • 怎样注册wordpressseo优化多久能上排名
  • 网络推广外包业务怎么样郑州网站seo顾问
  • 厦门网站建设团队seo是什么职位缩写
  • app外包网站电商培训机构靠谱吗
  • 美食网站建设项目分析报告广州今日新闻最新消息
  • wordpress后台可视化编辑seo是做什么的
  • 企业网站建设用标语微信如何引流推广精准加人
  • 在湖南建设人力资源网站磁力猫引擎
  • 赣州编程培训机构徐州网站建设方案优化
  • 网站分析模板企业如何进行品牌推广
  • 做音乐分享的网站长沙网站优化培训
  • 国外做游戏的视频网站有哪些中国进入全国紧急状态
  • 长沙手机网站建设公司排名考研培训机构排名
  • 便捷的大连网站建设pc优化工具
  • 做视频网站收费侵权吗推广方式和推广渠道
  • 新手学做网站 pdf 下载软文推广做的比较好的推广平台
  • 泉州建站模板源码企业网站页面设计
  • 网站开发好还要空间吗网络优化工程师为什么都说坑人
  • ps做网站网页好吗如何推广产品
  • 南部县人民医院搬迁广州专门做seo的公司
  • 佛山智家人网站搜索引擎排名优化建议
  • 越秀区建网站公司自己怎么免费做网站
  • 私营企业网站开发教学百度小说风云榜
  • 荆州网站推广怎么做绍兴seo网站管理
  • 怎么做模板网站一键优化清理手机
  • 怎样成立网站常见的网络推广方式有哪些
  • wordpress禁用修订百度搜索关键词排名优化推广