原创 LeetCode Queue Reconstruction by Height(貪心)

問題:給出一個數組,數組中的元素有兩個成員,一個表示高度,一個表示在它前面不小於它的個數,要求根據高度重建 思路:如果高度不相等,按高度降序,否則按個數升序 具體代碼參考: https://github.com/wuli2496/OJ/t

原创 LeetCode Evaluate Division(並查集)

問題:給出一些形式爲a/b=c的等式,要求一系列x/y的值 思路: 當a/b=c時,用p[a]=b,w[a]=c,表示a父結點爲b,並且從a到b的權值爲c.假設a的根結點爲c,a到c的權值爲w1,d的根結點爲f,d到f的權值爲w2,而a/

原创 LeetCode Partition Equal Subset Sum(動態規劃)

問題:給出一個數組,問是否可以分成兩個子集,其和相等 思路:首先要求數組和是偶數,然後用動態規劃來求。 用dp(i,j)表示第i步時和爲j是否可行,則有dp(i,j)= dp(i-1,j) || dp(i-1, j - nums[i]),

原创 LeetCode Pacific Atlantic Water Flow(flood fill)

問題:給出一個二維數組,數組中的元素非負。左邊和上邊表示大平洋,右邊和下邊表示大西洋。水可以向上下左右四個方向流動,但是要求不高於它。要求輸出可以到達兩大洋的座標 思路:因爲從高到不高於當前位置的位置流動,最綜到達兩大洋,可以反過來考慮。

原创 LeetCode Random Pick Index(蓄水池抽樣算法)

問題:給出一個數組,存在相同的數,隨機輸出目標數所在的下標 思路:使用蓄水池抽樣算法,當第一次找到目標數時,作爲選取。接着如果隨機數等於0,則選取。在遍歷完後,直接返回選取的值 具體代碼參考: https://github.com/wul

原创 LeetCode Longest Substring with At Least K Repeating Characters(遞歸)

問題:給出一個字符串s,要求求出最長的子串,每個字符出現至少k次 思路: 方法一,先統計每個字符出現的次數,然後分別從頭和尾找出出現資料最小爲k的位置,然後再此區間遍歷,當出現小於k次時,在兩個子區間內尋找最大子串。 方法二,先計算字符出

原创 Spring MVC中handlerMapping的設計

每個handlerMapping包含一系列url到Controller的映射。 1、類層次結構 2、SimpleUrlHandlerMapping的處理流程 該類中用urlMap來存儲映射關係。HandlerMapping接口中定義了g

原创 java8中的函數式數據處理

1、在流中只能遍歷一次,否則會提示流已經操作或者關閉的錯誤 List<String> title = Arrays.asList("Java8", "In", "Action");         Stream<String> strea

原创 SpringMVC中IOC容器啓動

在web.xml文件中有 <listener> <listener-class>org.springframework.web.context.ContextLoaderListerner</listener-class> </liste

原创 java8中的Lamba表達式

1、什麼情況有下可以使用lamba 在函數式接口中可以使用 2、什麼是函數式接口 只有一個抽象方法的接口稱爲函數式接口,同時將這個抽象方法稱爲函數描述符 3、java8中新增了哪些函數式接口 Predicate 的boolean test

原创 LeetCode Longest Absolute File Path(棧和前綴和解法)

問題:給出一個字符串表示的文件目錄信息,使用\n\t...來表示層次關係。要求最長的絕對文件路徑長度 思路: 方法一使用棧,當棧爲空時,將文件信息直接放入棧中,如果當前文件的層次比棧頂的層次深則直接入棧,否則將棧頂與當前的作比較,如果棧頂

原创 LeetCode UTF-8 Validation

問題:給出一個整數串,判斷是否是合法的UTF-8編碼 對於 1 字節的字符,字節的第一位設爲0,後面7位爲這個符號的unicode碼。 對於 n 字節的字符 (n > 1),第一個字節的前 n 位都設爲1,第 n+1 位設爲0,後面字節的

原创 LeetCode Decode String(棧和遞歸)

問題:給出一個字符串,形式爲num[alpha]表示有num個alpha。要求輸出字符串表示形式 思路:棧方法使用兩個棧,一個數字棧,一個字符棧。當遇到[時,將數字和字符壓棧。 具體代碼參考: https://github.com/wul

原创 LeetCode Elimination Game(遞推法)

問題:給出一個由1到n組成的數組,首先從頭到尾第隔一個刪除一個數,然後從尾到頭執行此操作。問最後剩下的數 思路:當爲偶數時f(2k)=2*(k+1-f(k));當爲奇數時f(2k+1)=2*(k+1-f(k))。綜合有f(k)=2*(k/

原创 刪除目錄下指定文件中匹配行

刪除當前目錄下txt文件中匹配pwd的行 find ./ -name "*.txt" | xargs -t sed -i '/pwd/d'