日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[leetcode] Restore IP Addresses

發布時間:2025/3/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [leetcode] Restore IP Addresses 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這個題目就和Palindrome Partitioning很像了,而且比那個的DFS的遞歸要簡單一些,讓常人更好理解一些。但是邊界條件更多,要考慮清楚。

整體思路就是深度優先搜索,首先看到邊界條件沒,如果沒有,就深度搜索:

一開始搜索1個字符和剩下的字符串,判斷該字符的index是否越界了,對于剩下的字符串遞歸;

然后是2個字符和剩下的字符串,判斷這2個字符的首字符是否是0,對于剩下的字符串遞歸;

然后是3個字符和剩下的字符串,判斷這3個字符的首字符是否是0,并且這3個字符組成的數字是否小于等于255,對于剩下的字符串遞歸。

ok,思路理清楚了,上代碼:

import java.util.ArrayList;public class Solution {ArrayList<String> rt = new ArrayList<String>();ArrayList<Integer> cand = new ArrayList<Integer>();String str;public ArrayList<String> restoreIpAddresses(String s) {// Start typing your Java solution below// DO NOT write main() function rt.clear();cand.clear();str = s;if (s.length() > 12)return rt;dfs(0);return rt;}//index 是當前檢測的第一個字符private void dfs(int index) {//終止條件,已經檢測到合法的candidate,那么添加到結果集if (cand.size() == 4 && index == str.length()) {addCandToRt();}//因為1位和2位數字肯定小于255,所以直接往更深搜索if (index >= str.length() || cand.size() >= 4)return;cand.add(Integer.parseInt(str.substring(index, index+1)));dfs(index+1);cand.remove(cand.size()-1);if (index >= str.length()-1 || str.substring(index, index+1).equals("0") || cand.size() >= 4)return;cand.add(Integer.parseInt(str.substring(index, index+2)));dfs(index+2);cand.remove(cand.size()-1);if (index >= str.length()-2 || str.substring(index, index+1).equals("0") || cand.size() >= 4)return;if (Integer.parseInt(str.substring(index, index+3)) <= 255) {cand.add(Integer.parseInt(str.substring(index, index+3)));dfs(index+3);cand.remove(cand.size()-1);}}private void addCandToRt() {String ip = cand.get(0) + "."+ cand.get(1) + "."+ cand.get(2) + "."+ cand.get(3);rt.add(ip);}public static void main(String[] args) {String s = "010010";Solution sl = new Solution();ArrayList<String> all = sl.restoreIpAddresses(s);for (int i = 0; i < all.size(); i++) {System.out.println(all.get(i));}} }

我對這個題目的理解是,一個完整的DFS,加上數個條件的剪枝。

回頭看看有沒有別的辦法解這道題目。

轉載于:https://www.cnblogs.com/lihaozy/p/3182696.html

總結

以上是生活随笔為你收集整理的[leetcode] Restore IP Addresses的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美一区二不卡视频 | 中文写幕一区二区三区免费观成熟 | 精品美女在线 | a级黄色网址 | 午夜婷婷色 | 污视频在线免费观看 | 久久精品二区 | 亚洲视频自拍 | 岛国av电影在线观看 | 激情五月激情综合网 | 欧美日韩亚洲国产一区 | 午夜国产福利在线 | 大吊一区二区三区 | 天天看天天色 | 国产鲁鲁视频在线观看特色 | 中文字幕中文在线 | 可以看的毛片 | 中文字幕无码日韩专区免费 | 亚洲综合视频网 | 国产精品视频网址 | 国产精品无码一区二区无人区多人 | 丰满人妻一区二区三区四区53 | 日少妇av| 亚洲AV无码久久精品国产一区 | 激情999 | 青娱乐精品视频 | 亚洲天堂一二三 | 天天操天天干天天摸 | 免费激情小视频 | www一级片 | 天降女子在线 | 五月情婷婷 | 国产人妖在线观看 | 久久久久久91亚洲精品中文字幕 | 午夜影院体验区 | 一区二区在线视频观看 | 曰韩在线 | 免费一级特黄特色毛片久久看 | 狠狠操在线视频 | 狠狠五月天 | 小仙女av | 日韩亚洲国产精品 | 久久人人爽天天玩人人妻精品 | 欧美日本三级 | 黑人乱码一区二区三区av | 天天搞夜夜爽 | 国产拍拍拍拍拍拍拍拍拍拍拍拍拍 | 色欧美88888久久久久久影院 | 日本黄视频在线观看 | 国产精品伦一区二区三区 | 国产jk精品白丝av在线观看 | 2019国产在线 | 免费观看av| 色丁香婷婷综合久久 | 法国极品成人h版 | 国产精品久久久久永久免费看 | 亚洲精品二区三区 | 亚洲综合福利 | 欧美日韩亚洲国产另类 | 高清欧美精品xxxxx在线看 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 黄色网页在线播放 | 日本天堂影院 | av瑟瑟 | 4hu最新网址| 成人免费黄色网址 | 亚洲经典一区二区三区 | 国产一区二区三区免费在线观看 | 五月婷婷爱爱 | 久久日视频 | 亚洲成a人片77777精品 | 国产福利视频一区二区三区 | a一级免费视频 | 操少妇视频| 亚洲精品二三区 | 国产超碰人人 | 国产精品66 | 性网站在线观看 | 午夜在线视频 | 男女视频国产 | 日本888xxxx| 色一区二区三区四区 | 99久久久国产 | 国产第3页 | 天天干影院| 五月天六月色 | 日本免费网址 | 日韩精品久久久久久免费 | 日日射日日操 | 国产欧美日韩精品一区二区三区 | 天天艹日日干 | 爱色av网站 | 久久久久人妻一区二区三区 | 少妇又色又紧又大爽又刺激 | 天天干天天综合 | 亚洲青色在线 | 国产美女特级嫩嫩嫩bbb | 黄色片视频在线观看 | 国产精品日韩在线 |