復原ip位址難度中等365
給定乙個只包含數字的字串,復原它並返回所有可能的 ip 位址格式。
有效的 ip 位址正好由四個整數(每個整數字於 0 到 255 之間組成),整數之間用 '.'分隔。
示例:
輸入: "25525511135"
輸出: ["255.255.11.135", "255.255.111.35"]
//25525511135->255.255.111.35 255.255.11.135
public list
restoreipaddresses
(string s)
stringbuffer sb =
newstringbuffer()
;//暴力解
for(
int a =
1; a <
4; a++
)//刪除之前儲存的資料
sb.delete(0
,sb.
length()
);}}
}}}}
return res;
}
public list
restoreipaddresses
(string s)
deque
path =
newarraydeque
<
>(4
);dfs(s, len,0,
4, path, res)
;return res;
}// 需要乙個變數記錄剩餘多少段還沒被分割
private
void
dfs(string s,
int len,
int begin,
int residue, deque
path, list
res)
return;}
for(
int i = begin; i < begin +
3; i++)if
(residue *
3< len - i)if(
judgeipsegment
(s, begin, i))}
}//判斷ip端資料是否正常
private
boolean
judgeipsegment
(string s,
int left,
int right)
int res =0;
while
(left <= right)
return res >=
0&& res <=
255;
}
每日一題 LeetCode
在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。示例 1 輸入 7,5,6,4 輸出 5 限制 0 陣列長度 50000 思想是 分治演算法 所有的 逆序對 於 3 個部分 左邊區間的逆序對 右邊區間的逆序對 橫跨兩個區間的...
LeetCode每日一題(題1028)
最近在刷leetcode每日一題,每次做完之後總能有些收穫,所以想著不如每天寫個部落格記錄一下做的題目的解法以及自己寫的時候問題出在 從先序遍歷還原二叉樹 題目大意 給出乙個字串 1 2 3 4 5 6 7 1代表節點的值,前面的 個數代表節點的深度。如果只有乙個子節點,保證這個節點為左子節點。返回...
LeetCode每日一題(題139)
題目 題目大意 給出乙個字串s和乙個字串陣列words,判斷s是否能夠拆分成多個words中的字串。分析 這道題比較簡單的方式應該是採用動態規劃來做。對於任意乙個字串中的區間,可以判斷該區間組成的字串是否在字典中,如果是,則這個區間的真假取決於前面那個區間的真假。給出狀態轉移方程dp i dp j ...