麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設計 > 正文

Leetcode 131. Palindrome Partitioning

2019-11-14 09:21:07
字體:
來源:轉載
供稿:網(wǎng)友

Given a string s, partition s such that every substring of the partition is a palindrome.

Return all possible palindrome partitioning of s.

For example, given s = “aab”, Return

[ [“aa”,”b”], [“a”,”a”,”b”] ]

s思路: 1. palindrome回文。要列舉所有情況的組合,用backtracking。 2. 回文如何判斷?單獨寫一個函數(shù)判斷回文。回文用two pointer即可判斷! 3. 寫代碼的時候,發(fā)現(xiàn)判斷substring是否回文時,出現(xiàn)重復計算,這在backtracking很常見!例如: s=”aabab”,計算第一個’b’開始的substring后面是否回文就會計算兩次:第一次是判斷到[“a”,”a”]后需要判斷’b’開始的substring;第二次是判斷到[“aa”]后又需要判斷。 4. 如何避免重復計算?由于需要知道所有的substring是否回文,那么干脆在backtracking前前把所有的情況一次計算出來,然后保存起來,需要用的時候直接查詢即可!問題就變成了:如何快速找到所有的組合? 這個問題的簡單粗暴方法:枚舉所有的可能substring有o(n^2)種,每一種如果獨立計算是否回文,那么每一種的復雜度o(n),總共就是o(n^3)。這種做法,顯然沒用利用回文的性質:回文的擴展性。例如,”abba”,如果發(fā)現(xiàn)”bb”是回文,那么”bb”兩邊的數(shù)如果相等,就可以直接判斷”abba”是回文。利用回文的這個性質,減少比較的次數(shù),從而復雜度為o(n^2). 5. 剛才做了一道題,需要把計算所有的組合情況分成一步一步,因為有些步驟不一定需要求;這里,把計算substring的回文情況放在一起計算,是因為分開計算會有大量重復的計算,而且這個題是枚舉題,需要枚舉所有情況,分開做并不會減少運算量。所以一切的原則,就是怎么省計算次數(shù),怎么做,沒有固定的模式和方法! 5. 這道題的特點就是:dp+backtracking組合。

//方法1:dp+backtrackingclass Solution {public: void helper(vector<vector<string>>&res, vector<vector<bool>>& isParlin,vector<string>&cur,string&s,int pos){ // if(pos==s.size()){ res.push_back(cur); return; } for(int i=1;i<=s.size()-pos;i++){ if(!isParlin[pos][i+pos-1]) continue; cur.push_back(s.substr(pos,i)); helper(res,isParlin,cur,s,pos+i); cur.pop_back(); } } vector<vector<string>> partition(string s) { // int n=s.size(); vector<vector<bool>> isParlin(n,vector<bool>(n,0)); for(int i=0;i<n;i++){ for(int y=i;y<n;y++){ int x=y-i; if(x==y) isParlin[x][y]=1; else if(y-x==1) isParlin[x][y]=(s[x]==s[y]); else isParlin[x][y]=(isParlin[x+1][y-1]&&s[x]==s[y]); } } vector<vector<string>> res; vector<string> cur; helper(res,isParlin,cur,s,0); return res; }};
上一篇:POJ 1010

下一篇:異常處理

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 色骚综合| 7777在线观看 | 26uuu成人人网图片 | 最新se94se在线欧美 | 一区二区久久久久草草 | 日韩精品久久久久久久电影99爱 | 91热久久免费频精品黑人99 | 亚洲精品一区中文字幕 | 黄网站免费入口 | 亚洲一区二区三区视频免费 | 国产99久久| 亚洲人片在线观看 | 涩涩操 | 国产99久久久国产精品下药 | 九九热精品在线 | 免费毛片免费看 | 国产精品久久久免费 | 国产69精品久久久久孕妇黑 | 欧美成人黄色小视频 | 欧美黄成人免费网站大全 | 黄色大片网站在线观看 | 蜜桃视频在线观看免费 | 毛片免费看的 | 色综合网在线观看 | 久久精品国产99久久久古代 | av在线视| h视频在线免费观看 | 美女黄网站免费观看 | 精品一区二区在线视频 | 中文在线观看视频 | 污黄视频在线播放 | 九九精品久久 | 国产精品久久久久久久久久久久午夜 | 狠狠操人人干 | 精品中文视频 | 免费1级做55爰片l在线观看 | 免费国产网站 | 国产精品久久久久久影院8一贰佰 | 97久色 | 亚洲综合精品 | 福利在线免费 |