原创 LeetCode 46,78,90.全排列,子集,子集II(排列組合問題,回溯,位運算)

遞歸+回溯 class Solution { public List<List<Integer>> subsets(int[] nums) { List<List<Integer>> result = ne

原创 內核級線程實現(哈工大李志軍)

進入中斷 在 main()中: 首先在A()函數中系統調用fork(),將B()的地址壓入用戶棧。 fork() 引起中斷0x80,進入內核。 執行int 0x80時,還未進入內核,首先找到內核棧,壓入當前棧地址(即用戶棧);

原创 用戶級線程和內核級線程(哈工大李志軍)

用戶級線程一個瀏覽器的模型:兩個執行序列與一個棧的弊端:從一個棧到兩個棧兩個線程:兩個TCB+兩個棧+切換的PC在棧中用戶級線程的弊端核心級線程從一個棧到一套棧用戶棧到內核棧的關聯:小結:內核線程switch_to的五段論Thr

原创 四:進程運行軌跡的跟蹤與統計

目錄實驗目的實驗內容實驗步驟打開log文件預備:Linux 的進程初始化打開 log 文件寫log文件尋找狀態切換點預備:Linux 的進程運行狀態進程的新建(N)及由新建(N)切換到就緒(J)狀態進程的就緒(J)狀態和運行(R)

原创 二、系統調用及實驗

保護機制:將內核程序與用戶隔離特權級特權級檢查系統調用進入內核的方法系統調用的核心實現實驗實驗內容實驗過程kernel / who.cinclude / unistd.hinclude / linux / sys.h更改Make

原创 二、操作系統的引導及實驗

二、操作系統的引導及實驗引導啓動程序總體功能bootsect.ssetup.shead.s實驗內容bootsect.s的修改從 bootsect.s 讀入 setup.s ,並打印字符串setup.s 獲取基本硬件參數源代碼:bo

原创 LeetCode 72.編輯距離

LeetCode 72.編輯距離 雙序列型 確定狀態: 設f[i][j]爲A前i個字符A[0..i-1]和B前j個字符B[0..j-1]的最小編輯距離。 有三種情況: A在最後插入B[j-1] A的最後一個被替換爲B[j-1]

原创 LeetCode 221.最大正方形

LeetCode 221.最大正方形 確定狀態: 正方形的理解: 如圖所示,對於每個位置(i,j),其能確定最大的正方形邊長,其實是(i-1,j-1),(i-1,j),(i,j-1)三個位置的最大正方形的邊長最小值(類比於:木桶

原创 leetcode 14.最長公共前綴

14.最長公共前綴 執行用時 :0 ms, 在所有 Java 提交中擊敗了100.00%的用戶 LCS爲這些字符串的最長公共前綴,那麼 LCS(...LCS(LCS(LCS(S0,S1),S2)S3)...Sn)LCS(...L

原创 LeetCode 1143.最長公共子序列

LeetCode 1143.最長公共子序列(LCS) 雙序列型 確定狀態: 設字符串爲s1和s2,長度分別爲m和n。 此時LCS長度爲l 存在三種情況: s1[i]此時不在LCS中,是多餘的 s2[j]此時不在LCS中,是多餘的

原创 leetcode 67.二進制求和

67.二進制求和 執行用時 :3 ms, 在所有 Java 提交中擊敗了60.62%的用戶 將每一位數對應並相加,再加上進位(cout),cout只需要將這一位的結果除以2即可 ( 2/2 == 1 , 1/2==0 , 0/2

原创 LeetCode 97.交錯字符串

LeetCode 97.交錯字符串 雙序列型動態規劃 確定狀態: 判斷s1(長度爲m),與s2(長度爲n)是否交錯生成s3(長度爲p) 若m+n!=p,直接返回false s3[k]不是等於s1[i-1]就是等於s2[j-1]

原创 LintCode 125.揹包問題II

LintCode 125.揹包問題II 揹包問題 確定狀態: 對於每個總重量,我們知道對應的最大價值是多少,就能知道答案。 最後一步: 最後一個物品:(重量:AN−1重量:A_{N-1}重量:AN−1​,價值:VN−1V_{N-

原创 UVa-1994 Crossword Answers

#include <cstdio> #include <vector> #include <iostream> #include <deque> #include <string> #include <algorithm> #in

原创 leetcode 118.楊輝三角

LeetCode 118.楊輝三角 模擬就好了。 注意一下集合的聲明: List<List<Integer>> ans = new ArrayList<List<Integer>>(); class Solution {