leetcode做題記錄0051

2021-10-23 05:57:44 字數 1143 閱讀 7608

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

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

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

leetcode51,n皇后問題

官方叫回溯,說白了還是深搜,主要是斜線線的判斷條件麻煩一點,用兩個陣列分別給各條斜線編號。

mains代表主斜線,主斜線上的點滿足row-col為常數,共有2n-1條;

將右上角的線編號為0的話,編號就是row-col+n-1。

secondary代表副斜線,副斜線上的點滿足row+col為常數,也是2n-1條;

將左上角的線編號為0的話,編號就是row+col。

放置皇后時要判讀該位置是否能被攻擊,放置完畢後,更新cols,mains和secondary。

從第0行開始逐一放置,若來到了第n行,證明前n已放置完畢,將可行方案加入列表。

class

solution

public

void

backtrack

(int row)

for(

int col =

0; col < n; col++

)else

backtrack

(row +1)

;removequeen

(row, col);}

}private

void

addtolist()

else

} ls.

add(sb.

tostring()

);} ll.

add(ls);}

public

boolean

isoktoput

(int row,

int col)

else

}public

void

putqueen

(int row,

int col)

public

void

removequeen

(int row,

int col)

}

leetcode做題記錄0010

只是為了記錄一下,不求多快,也不深究。會簡要描述思路,中不寫注釋。如碰到不會做的用了別人 會在部落格中標出。一碰到難度是困難的就不會做了。用動態規劃 dp i j 代表了s的前i個字元和p的前j個字元是否匹配,算上0的話,顯然dp的大小是 s.length 1 p.length 1 dp 0 0 兩...

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...