国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

127. Word Ladder

2019-11-08 03:21:12
字體:
來源:轉載
供稿:網友

單向bfs 方法也是想到和寫了出來,就是沒有用find這個方法導致超時!!!用了iterator 其實就是bfs不斷判斷是否是那就ok了,數據結構的使用方法還是有點弱!

class Solution {public: void addnext(string s, queue<string>& qu, unordered_set<string>& WordList){ wordList.erase(s); for(int i = 0; i < s.length(); ++ i){ char temp = s[i]; for(int j = 0; j < 26; ++ j){ s[i] = 'a' + j; if(wordList.find(s) != wordList.end()){ qu.push(s); wordList.erase(s); } } s[i] = temp; } } int ladderLength(string beginWord, string endWord, unordered_set<string>& wordList) { wordList.insert(endWord); queue<string>qu; addnext(beginWord, qu, wordList); int sum = 2; while(!qu.empty()){ int n = qu.size(); for(int i = 1; i <= n; ++ i){ string t = qu.front(); qu.pop(); if(t == endWord) return sum; addnext(t, qu, wordList); } sum++; } return 0; }};

雙向bfs 雙向bfs,比單向更快,沒有用queue,用了unorder set一樣可以做,每次結束就裝換,開兩個,一頭一尾,這題十分考驗打碼能力,非思維能力,2刷值得繼續練習!

class Solution {public: int ladderLength(string beginWord, string endWord, unordered_set<string>& wordList) { unordered_set<string> head, tail, *phead, *ptail; head.insert(beginWord); tail.insert(endWord); int sum = 2; while(!head.empty() && !tail.empty()){ if(head.size() < tail.size()){ phead = &head; ptail = &tail; } else{ phead = &tail; ptail = &head; } unordered_set<string> temp; for(auto it = phead -> begin(); it != phead -> end(); it++){ string word = *it; wordList.erase(word); for(int i = 0; i < word.length(); ++ i){ char t = word[i]; for(int j = 0; j < 26; ++ j){ word[i] = 'a' + j; if(ptail -> find(word) != ptail -> end()) return sum; if(wordList.find(word) != wordList.end()){ temp.insert(word); wordList.erase(word); } } word[i] = t; } } sum++; swap(*phead, temp); } return 0; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陇川县| 湖州市| 桐庐县| 泰州市| 鄂托克前旗| 西林县| 基隆市| 全南县| 化州市| 台湾省| 博野县| 都昌县| 嵊州市| 大悟县| 个旧市| 临洮县| 沈丘县| 郸城县| 屯门区| 阿勒泰市| 井冈山市| 芜湖市| 达孜县| 屯留县| 泽库县| 新昌县| 黄骅市| 枣庄市| 宣城市| 兰西县| 皋兰县| 清远市| 二连浩特市| 航空| 景泰县| 闸北区| 千阳县| 甘谷县| 河北省| 长汀县| 井冈山市|