原创 215. 數組中的第K個最大元素(排序)(快速選擇排序[複習])

方法一:排序,計數器 class Solution { public int findKthLargest(int[] nums, int k) { Arrays.sort(nums);

原创 501. 二叉搜索樹中的衆數(樹)(BST)(回看)

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; *

原创 455. 分發餅乾(貪心)

策略: 1,給一個孩子的餅乾應當儘量小並且又能滿足該孩子,這樣大餅乾才能拿來給滿足度比較大的孩子。 2,因爲滿足度最小的孩子最容易得到滿足,所以先滿足滿足度最小的孩子。 那麼如何證明這個策略是最優解呢? class Soluti

原创 236. 二叉樹的最近公共祖先(樹)

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; *

原创 108. 將有序數組轉換爲二叉搜索樹(樹)(BST)(回看)

關鍵點,對一個有序數組,要想構造一棵 平衡BST,必須從中間的結點開始; 選取中間點可以隨意選,構造的平衡BST不唯一 /** * Definition for a binary tree node. * public c

原创 BIOS中斷、DOS中斷、Linux中斷的區別

BIOS中斷、DOS中斷、Linux中斷的區別

原创 上岸了

經過一年時間終於上岸中科大了 搭了自己的github page,訪問請轉3kblack的blog

原创 8255

原创 uCore Lab1

練習一: 問題1:操作系統鏡像文件ucore.img是如何一步一步生成的? cc kern/init/init.c //編譯 init.c cc kern/libs/readline.c //編譯 readline.c

原创 Loader引導加載程序

Q1:內核程序起始地址爲什麼位於物理地址0x100000(1MB)處: A:因爲在1MB以下的物理地址並不全是可用內存地址空間,有內存空間,非內存空間以及地址空洞;所以爲了避開這些紛繁複雜的內存地址,選擇了從平坦的1MB地址開始.

原创 669. 修剪二叉搜索樹(樹)(如何改變二叉樹的結構)

方法一 思路: 對當前節點 如果當前節點的值>R 那麼修剪其左子樹 如果當前節點的值<L 那麼修建其右子樹 如果當前節點的值屬於[L,R] 那麼對其左右子樹都要修減 /** * Definition for a binary

原创 167. 兩數之和 II - 輸入有序數組(雙指針)

思路 class Solution { public int[] twoSum(int[] numbers, int target) { int[] res = {-1,-1}; int