leetcode做題記錄0010

2021-10-02 18:03:56 字數 851 閱讀 1999

只是為了記錄一下,不求多快,也不深究。

會簡要描述思路,**中不寫注釋。

如碰到不會做的用了別人**會在部落格中標出。

一碰到難度是困難的就不會做了。

用動態規劃

dp[ i ][ j ]代表了s的前i個字元和p的前j個字元是否匹配,算上0的話,顯然dp的大小是(s.length()+1)*(p.length()+1)。

dp[0][0]兩個字元都是空,匹配,設為true。當s不為空,p為空時,顯然是false。

當s為空,p不為空時,因*有將字串變空的能力,若遇到*時,dp[0][j] = dp[0][j-2],p的首字元不為*,因此不用擔心越界。

初始化完成,下面說明狀態轉移的辦法:

最後一種情況就是pj也是字母,但不和si相等,直接false,不可能匹配的。

class

solution

}for

(int i=

1;i<=s.

length()

;++i)

else

if(p.

charat

(j-1)==

'*')

else

}else}}

return dp[s.

length()

][p.

length()

];}}

leetcode做題記錄0014

只是為了記錄一下,不求多快,也不深究。會簡要描述思路,中不寫注釋。如碰到不會做的用了別人 會在部落格中標出。第一遍提交擊敗37 的使用者,一模一樣的 又提交了一遍,擊敗82 的使用者。所以這個到底有啥意義。陣列長度為0或1直接return。寫乙個方法判斷所有字串第num個字元是否相同。找到陣列裡最短...

leetcode做題記錄0050

只是為了記錄一下,不求多快,也不深究。會簡要描述思路,中不寫注釋。如碰到不會做的用了別人 會在部落格中標出。直接乙個乙個乘的話會超時,試過了。這題有點像數學題。3 193 319可以這樣做 3 19 324 21 2 0 32 4 32 1 32 03 3 3 cdot 3 cdot 3 319 3...

leetcode做題記錄0061

只是為了記錄一下,不求多快,也不深究。會簡要描述思路,中不寫注釋。如碰到不會做的用了別人 會在部落格中標出。先把整個鍊錶變成迴圈鍊錶,同時計算鍊錶長度。算一下應該移動多少步,即len k len.移一下即可。definition for singly linked list.public class...