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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【leetcode】脑子打结的题

發(fā)布時(shí)間:2023/12/14 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【leetcode】脑子打结的题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

3.?Longest Substring Without Repeating Characters:https://leetcode.com/problems/longest-substring-without-repeating-characters/

容器不熟

?

10.?Regular Expression Matching:https://leetcode.com/problems/regular-expression-matching/

邏輯很亂,情況想不全。

本想用普通方法直接寫出規(guī)則,發(fā)現(xiàn)卡在樣例:s="aaa", p="a*a" 上不能解決了。

這是卡住的代碼:

class Solution { public:bool isMatch(string s, string p) {int pi = 0, si = 0;for (; si < s.size() && pi < p.size(); ++si){printf("%c,%c\n",s[si],p[pi]);if (s[si] == p[pi] || p[pi] == '.') ++pi;else if (p[pi + 1] == '*') pi += 2;else if (p[pi] == '*' && s[si] != s[si - 1] && p[pi - 1] != '.'){++pi;while (pi < p.size() && s[si] != p[pi] && p[pi] != '.'){++pi;if (pi >= p.size() || p[pi] != '*') return false;else ++pi;}++pi;}}if (si < s.size()) return false;else if ((pi) < p.size()){int tmp = (p.size() - pi - 1) % 2;if (p[pi] == '*'){if (tmp != 0 || !equalEmpty(p.substr(pi + 1))) return false; }else {if (tmp != 0){if (p[pi + 1] != '*') return false;else if (!equalEmpty(p.substr(pi + 2))) return false;}else if (p[pi] != '*' || !equalEmpty(p.substr(pi + 1))) return false;}}return true;}bool equalEmpty(string p){if (p.size() % 2 != 0) return false;for (int i = 0; i < p.size(); ++i){if (p[++i] != '*') return false;}return true;} };

法一:遞歸,目前還沒(méi)想清楚。

法二:dp,和初始想法有點(diǎn)像

總結(jié)

以上是生活随笔為你收集整理的【leetcode】脑子打结的题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。