原创 Ubuntu19.04安裝指南

開始新的折騰 實習的時候因爲大部分時間都是用的公司的電腦,因此自己電腦難得不會因爲折騰而耽誤事(由於各種問題重裝系統是真的心累)。 經過幾次慎重的嘗試和考慮,決定了不裝雙系統了,徹底將ubuntu作爲主力機,裝機配置期間各種重裝之

原创 STM32bootloader原理解釋

STM32bootloader原理解釋 一、STM32的常規啓動流程 ​ STM32的內部flash地址起始於0x8000000,一般情況下,程序文件就從此地址開始寫入。此外STM32是基於Cortex-M3內核的微控制器,其內部

原创 Manjaro安裝配置指南

由於可能會有偶爾重裝系統的需要,而每次配置都丟三落四,浪費時間,因此整理了自己需要的配置,一直會繼續更新的 1.安裝 分區時選擇手動分區 掛載點 大小 /boot/efi 500M /boot 1G / 剩餘

原创 最後一個單詞的長度

最後一個單詞的長度 描述 給定一個僅包含大小寫字母和空格 ' ' 的字符串,返回其最後一個單詞的長度。 如果不存在最後一個單詞,請返回 0 。 說明一個單詞是指由字母組成,但不包含任何空格的字符串。 示例: 輸入: "Hello

原创 最大子序和

最大子序和 描述 給定一個整數數組 nums ,找到一個具有最大和的連續子數組(子數組最少包含一個元素),返回其最大和。 示例: 輸入: [-2,1,-3,4,-1,2,1,-5,4], 輸出: 6 解釋: 連續子數組 [4,-1

原创 移除元素

移除元素 描述 給定一個數組 nums 和一個值 val,你需要原地移除所有數值等於 val 的元素,返回移除後數組的新長度。 不要使用額外的數組空間,你必須在原地修改輸入數組並在使用 O(1) 額外空間的條件下完成。 元素的順序

原创 實現strStr()

實現strStr() 描述 實現 strStr() 函數。 給定一個 haystack 字符串和一個 needle 字符串,在 haystack 字符串中找出 needle 字符串出現的第一個位置 (從0開始)。如果不存在,則返回

原创 搜索插入位置

搜索插入位置 描述 給定一個排序數組和一個目標值,在數組中找到目標值,並返回其索引。如果目標值不存在於數組中,返回它將會被按順序插入的位置。 你可以假設數組中無重複元素。 示例 1: 輸入: [1,3,5,6], 5 輸出: 2

原创 刪除排序數組中的重複項

刪除排序數組中的重複項 描述 給定一個排序數組,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後數組的新長度。 不要使用額外的數組空間,你必須在原地修改輸入數組並在使用 O(1) 額外空間的條件下完成。 示例 1

原创 合併兩個有序鏈表

合併兩個有序鏈表 描述 將兩個有序鏈表合併爲一個新的有序鏈表並返回。新鏈表是通過拼接給定的兩個鏈表的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4 思路 有空鏈表時,返

原创 有效的括號

有效的括號 描述 給定一個只包括 '(',')','{','}','[',']' 的字符串,判斷字符串是否有效。 有效字符串需滿足: 左括號必須用相同類型的右括號閉合。 左括號必須以正確的順序閉合。 注意空字符串可被認爲是有效

原创 Linux內核設計與實現——進程管理(續)

Linux內核設計與實現——進程管理(續) 線程在Linux中的實現 線程機制是現代編程技術中常用的一種抽象概念;該機制提供了在統一程序內共享內存地址空間運行的一組線程。這些線程還可以共享打開的文件和其他資源。線程機制支持併發程

原创 Linux內核設計與實現——進程管理

Linux內核設計與實現——進程管理 進程 進程就是處於執行期的程序,但不僅僅是可執行程序代碼,通常還要包含其他資源,像打開的文件,掛起的信號,內核內部數據,處理器狀態,一個或多個具有內存映射的內存地址空間及一個或多個執行線程,

原创 最長公共前綴

最長公共前綴 描述 編寫一個函數來查找字符串數組中的最長公共前綴。 如果不存在公共前綴,返回空字符串 ""。 示例 1: 輸入: ["flower","flow","flight"] 輸出: "fl" 示例 2: 輸入: ["d

原创 整數反轉

整數反轉 描述 示例 1: 輸入: 123 輸出: 321 示例 2: 輸入: -123 輸出: -321 示例 3: 輸入: 120 輸出: 21 注意: 假設我們的環境只能存儲得下 32 位的有符號整數,則其數值範圍爲