原创 並查集的妙用——Leetcode 1202

並查集的妙用——Leetcode 1202 給你一個字符串 s,以及該字符串中的一些「索引對」數組 pairs,其中 pairs[i] = [a, b] 表示字符串中的兩個索引(編號從 0 開始)。 你可以 任意

原创 極小化極大和動態規劃之間的故事 2

極小化極大和動態規劃之間的故事 2 今天我們繼續上次沒有講完的故事。 1 我能贏嗎 Leetcode 464: 在 "100 game" 這個遊戲中,兩名玩家輪流選擇從 1 到 10 的任意整數,累計 整數和,先使得累計整

原创 O(n)的dp也會TLE?——leetcode 55

O(n)的dp也會TLE? 又是舊題新做,又是掉進了一樣的坑。 給定一個非負整數數組,你最初位於數組的第一個位置。 數組中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2

原创 實現了個殘廢文件系統

實現了個殘廢文件系統 0 寫在前面 事先說明,雖然說這次的課設要求是實現fuse提供的接口,但是至少出現在這裏的內容,和fuse沒有任何關係,所以想要一字不動地拿過去當成課設最後成果的,就用不着往下看了。 還有就是,感謝前人做出來

原创 極小化極大和動態規劃之間的故事 3

極小化極大和動態規劃之間的故事 3 Leetcode 375:猜數字大小2 我們正在玩一個猜數遊戲,遊戲規則如下: 我從 1 到 n 之間選擇一個數字,你來猜我選了哪個數字。 每次你猜錯了,我都會告訴你,我

原创 ucore lab2 練習2&3

ucore lab2 練習2&3 回憶一下之前的練習1,我們填寫了default_pmm.c中的一些函數,也實現了內存分配的first fit算法。但是,其實我們並不是很清楚,default_pmm.c這個文件在整個lab2中的位

原创 這樣的數組,也能二分查找嗎——Leetcode 33 & 81 搜索旋轉排序數組

這樣的數組,也能二分查找嗎——Leetcode 33 & 81 搜索旋轉排序數組 Leetcode 33: 假設按照升序排序的數組在預先未知的某個點上進行了旋轉。 (例如,數組 [0,1,2,4,5,6,7] 可能變爲 [4,5,

原创 打家劫舍——leetcode 198 & 213 & 337

打家劫舍——leetcode 198 & 213 & 337 打家劫舍1 leetcode 198: 你是一個專業的小偷,計劃偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制 約因素就是相鄰的房屋裝有相互連通的

原创 環形鏈表和反轉鏈表——leetcode 141 & 142 & 206 & 92

環形鏈表和反轉鏈表——leetcode 141 & 142 & 206 & 92 今天爲什麼把這麼多題目放到一起去講呢?我們先看題,等等就知道這幾道題之間有什麼聯繫了。 環形鏈表 先看141題: 這個題難度是easy,說明如果想

原创 騰訊2020校招第一次筆試第1題

小Q想要給他的朋友發送一個神祕字符串,但是他發現字符串的過於長了,於是小Q 發明了一種壓縮算法對字符串中重複的部分進行了壓縮,對於字符串中連續的m個相同字 符串S將會壓縮爲[m|S](m爲一個整數且1<=m<=100),例

原创 一個簡陋線程池的實現

一個簡陋線程池的實現 1 線程池的工作原理 線程池是什麼?顧名思義,線程池就是一個放着若干線程的池子。整個線程池的工作原理是這樣的,在一個池子裏有若干個線程,此外還有任務隊列,當任務隊列爲空的時候,線程池的所有線程也處於休眠(阻塞

原创 逆序對及其變種

1 逆序對 首先看一下逆序對(Leetcode 劍指offer 51): 在數組中的兩個數字,如果前面一個數字大於後面的數字,則這兩個數字組成一個 逆序對。輸入一個數組,求出這個數組中的逆序對的總數。 示例 1: 輸入:

原创 單調棧的妙用

時間限制:C/C++ 2秒,其他語言4秒 空間限制:C/C++ 256M,其他語言512M 小Q在週末的時候和他的小夥伴來到大城市逛街,一條步行街上有很多高樓,共有n 座高樓排成一行。 小Q從第一棟一直走到了最後

原创 讀者寫者問題的三種打開方式——公平競爭

讀者寫者問題的三種打開方式——公平競爭 在上一篇中,我們實現了讀者寫者問題中的讀者優先策略,也提及了讀者優先存在的問題,即寫者飢餓。在這一篇中,我們會實現公平競爭策略。先看代碼: #include <stdio.h> #inclu

原创 讀者寫者問題的三種打開方式——寫者優先

讀者寫者問題的三種打開方式——寫者優先 上兩篇我們分別實現了讀者優先和公平競爭兩種策略,如果沒有特殊情況的話,這將會是這個系列的最後一篇,實現寫者優先策略。老規矩,先上代碼。 #include <stdio.h> #include