leetcode題目思路

2022-08-03 22:51:21 字數 920 閱讀 3502

一、bruteforce:o(n**2)  o(1)

二、兩邊雜湊表、一遍雜湊表  o(n)  o(n)

一、bruteforce:o(n**3) o(1)

二、排序+雙指標:o(n**2)  去重/剪枝

four sum  排序+雙層迴圈+雙指標

棧 o(n) o(n)

擴充套件:只有一種括號?

最長有效括號?leetcode 32.

雙指標 o(n+m)  o(1)

遞迴 o(n+m) o(n+m)

先找到k個節點結束位置next_head,然後迴圈翻轉,每次反轉同時next_head指標後移,當第一組節點反轉完成之後,下一組k個節點就有找到了。注意最後一組不夠k個的處理。  一遍遍歷o(n)

global和local的使用/滑動視窗

從後往前遍歷,不需要進製直接返回,需要進製,前一位加一繼續迴圈

中序遍歷、遞迴(需要設定上下界)

一次遍歷 total  cur   一次遍歷、貪心  cur保證當前,tptal保證全域性

某個數字只出現一次,其餘數字出現兩次 異或

一、ordereddict

二、set+雙向鍊錶

prev、cur、nxt指標的使用

堆排/快排

乙個進乙個出

原地進製,python不需要考慮溢位

拒絕取樣,7*7=49,拒絕大於10的,idx=1+(idx-1)%10

先找出陣列2中的元素的下乙個更大元素,並存入字典中,再去遍歷陣列1

雙棧  peekmax()  popmax()  popmax()時候如果兩個棧棧頂元素不一樣則pop並儲存,找到相同的pop,然後將儲存的元素重新push到兩個棧中

貪心 five、ten計數

滑動視窗、記錄

快慢指標

重新進棧、與另乙個對比,棧頂元素相同則pop

ctf部分題目思路

一 ctf工具 web 1.firefox hackbar,firebug,tamper data,user agent switcher 2.burpsuite 3.sqlmap 隱寫 1.stegsolve 2.winhex 3.notepad 4.qr resuarch 5.binwalk 6...

m皇后(思路題目)

這道題當初有兩點沒有想到,一點是不知道該如何處理斜著的方向,另一點是沒想到只用求該直線上的兩端點。這題要開四個陣列,分別記錄該方向上的點的最左端和最右端。然後遍歷所有的點,遍歷該點的四個方向 上下是乙個方向,左右是乙個方向,斜向上乙個,斜向下乙個 如果該方向上只有乙個點,就不存在威脅,如果該點在最右...

課上題目設計思路

1 題目避免重複 2 可定製 數量 列印方式 3 可以控制下列引數 是否有乘除法 是否有括號 數值範圍 加減有無負數 除法有無餘數 是否支援分數 真分數 假分數,是否支援小數 精確到多少位 列印中每行的間隔可調整。設計思想 1 首先將已生成的算式進行儲存利用陣列,可用檢查字串是否相等的方式增加乙個檢...