leetcode刷題總結 6 10題

2021-08-16 20:07:28 字數 1271 閱讀 5921

六、zigzag conversion

本題屬於比較簡單的,很容易就能總結出規律。

乙個zigzag數以2*numrows-2為乙個迴圈,每乙個豎行的字母下標為乙個cycle,除了第一行和最後一行,中間各行都要加乙個j+cycle-2*i ,i為從零開始的行號,j為每個迴圈裡i+cycle*n.

class solution 

string res = "";

int cycle = 2*numrows-2;

for(int i = 0;i七、reverse integer

這個題看似很簡單,但是要考慮很多越界的問題。

class solution

while(x%10==0)

while(tmp!=0) if(res>integer.max_value||res十、regular expression matching

這個題挺有意思,我做的時候硬是看了半天都沒看懂。。。。

不理解最後乙個aab和c*a*b為啥也是match的,後來才知道*前面的字母可以是 0個。

public class solution

boolean state = new boolean[s.length() + 1][p.length() + 1];

state[0][0] = true;

// no need to initialize state[i][0] as false

// initialize state[0][j]

for (int j = 1; j < state[0].length; j++) } }

for (int i = 1; i < state.length; i++)

//最簡單的情況,兩字母相同或者p為.

if (p.charat(j - 1) == '*') else }}

}return state[s.length()][p.length()];}}

dp,好難啊。看了一下午,畫那個dp的state二維陣列畫了好久才弄懂,dp這個狀態圖好像是動態規劃的特色,以後注意一下。

LeetCode刷題總結

123 4567 891011 12 元素交換 swap a 1 a 3 sort排序 sort a.begin a.end 陣列顛倒 reverse a.begin a.end 陣列元素置為0 memset a,0,a.size 陣列取值 a.push back 定義二維陣列 vector vec...

LeetCode刷題總結

123 4567 891011 12 元素交換 swap a 1 a 3 sort排序 sort a.begin a.end 陣列顛倒 reverse a.begin a.end 陣列元素置為0 memset a,0,a.size 陣列取值 a.push back 定義二維陣列 vector vec...

刷題 Python Tip 題目6 10

題目6 輸出100以內的所有素數,素數之間以乙個空格區分 from math import sqrt print join str key for key in x for x in xrange 2,100 if 0 not in x d for d in xrange 2,int sqrt x ...