原创 內存訪問全過程

這一篇,是重點!我們將去講解操作系統根據代碼(邏輯)地址去訪問真實物理地址的全過程。將把全面幾節的東西全部用上,並完全梳理,完善細節。前面講了分段、分頁機制,他們都可以實現,從虛擬地址(地址空間)向物理地址的轉換。但是,實際使用過程中,使用

原创 多級頁表與快表

之前頁表結構的不足之前的頁表結構看起來挺好的呀,有什麼問題呢?如果每個頁的大小是4k,也就是2的12次方。如果是32位的地址話,也就是說,有2的20次方個頁。那麼對應到頁表,也就說頁表應該有2的20次方個項。因爲每個項表示的是一個內存地址,

原创 動態規劃專題:LeetCode連續數列

LeetCode題目鏈接面試題 16.17. 連續數列這個題目和最大子數列是一個題目思路用 dp[i] 表示,連續數列的和。當 dp[i-1] 小於0的時候,它如果加上nums[i]的話,肯定比單獨的nums[i]小。此時,設置 dp[i]

原创 動態規劃專題:LeetCode 按摩師

LeetCode題目面試題 17.16. 按摩師思路爲什麼要用動態規劃在知道如何使用動態規劃前,知道何時使用動態規劃最重要吧。如果你要知道最後一天的值,取決於第三天做不做,這就是二叉樹的結構,一般涉及到兩個選擇的,畫下的話,可以看到有重疊部

原创 動態規劃專題:LeetCode 乘積最大子數組

原題鏈接乘積最大子數組思路刷題得按專題刷,發現這道題很有意思。因爲負數的引入,導致推導狀態就比較麻煩。看了題解,分別記錄最大值和最小值。當遇到負數的時候,最大值將會變爲最小,最小將會變爲最大。真的很巧妙。算是開拓了一個新的思路。classS

原创 1. 數據結構概述

1.1 什麼是數據結構說到數據結構,我覺得可以拆分成兩個詞,數據和結構。先來打個比方。同樣是水,有的被放進了游泳池,成爲了游泳嬉戲的場所;有的被放進了杯子,供我們喝水;我們不可能喝水,不用杯子,用游泳池。說到底,就四個字:因地制宜???(好

原创 動態規劃專題:LeetCode 完全平方數

原題鏈接279. 完全平方數思路這道題跟之前的動態規劃有些區別。刷了不少動態規劃的題目。大部分的結構,都是類似於這種形式dp[i]=Math.max(min)(dp[i-n]+k,dp[i-m]+k1)+M這種形式,涉及到最大小值,肯定涉及

原创 5. 堆排序

思想維護一種數據結構,它可以完成下面兩個功能:插入數據;取出最小數據。因爲數組和鏈表均不能均衡這兩個功能的時間複雜度。於是採用完全二叉樹來實現這兩種功能。小堆,每個節點值都小於其子節點的值。其實,就有點像排行榜的感覺,當有新的元素登上排行榜

原创 7. 計數排序

思想計數排序,不再依賴元素的比較,而是通過計數的方式,來進行排序。比如,你知道成績比你高的有5個人,那麼你是多少名呢?計數排序就是採用這種思想。計數排序,爲每一個元素設置一個計數,然後進行計數排序。從這個思想上來看,計數排序會使用到複製的空

原创 1. 選擇排序

思想每次選擇未排序元素中的最小值,將其放在最左邊。想象你打牌的時候,如果你手上有一堆牌,你每次找到最小的牌,然後將其出出來。手上的是未排序的牌,出出去的牌按順序擺出來,就是已排序的。比較耗時:第一次比較n,第二次比較n-1,以此類推插入耗時

原创 2. 插入排序

思想將數組分爲排序和未排序兩部分,每次從未排序部分選取一個元素,按順序插入到已排序部分。想象你打牌的時候,手上拿的是已排序的拍,每次抓牌的時候,都是把抓到的牌(未排序)按順序插入到手上已排序的牌中。插入的策略,交換相鄰元素或者移動插入。每進

原创 ShareX+聚合圖牀設置一鍵上傳圖片,輸出Markdown圖片鏈接

因爲,ShareX的下載地址,普通網絡打不開。如果有需要的朋友,可以關注公衆號:土堆碎念,然後回覆:圖牀,即可獲得安裝包文件。1(可選)、爲了保存備份,可將剪切的圖片,自動以圖片的形式,保存在設定的文件夾中。2、領取聚合圖牀的試用會員,並獲

原创 更改文件夾圖標

最近,想把電腦中的文件都整理一遍。感覺文件夾的圖標都千篇一律了,沒有標識性。所以,想給文件夾都換個圖標。最詳細的教程估計就是少數派的這篇教程。我只想實現其中最簡單的。解決方案我想將我專門寫作的文件夾換個圖標。1、搜索想要的圖標,我最後搜索的

原创 一次寫文,多平臺直接粘貼&打造最流暢的寫作流程

文字愛好者的痛點這一段可以跳過,解決辦法在後面。因爲大家既然痛過,也就懂了。對於很多文字愛好者來說,都希望寫一篇文章後,可以實現多平臺發佈。國內的很多平臺都開始支持Markdown,除了微信公衆號平臺。但是,Tyora這個工具,能解決這個問

原创 卸載OpenIV

最近把GTA5卸載了,於是也想把用來修改 MOD 的OpenIV也卸載了。結果在設置中,進行卸載的時候,彈出這個窗口解決方案1、首先打開文件所在位置2、右鍵,選擇屬性,打開文件所在的位置3、運行其中的uninstall.exe文件,即可完成