原创 LeetCode面試題☞驗證迴文串

文章目錄驗證迴文串題目描述解題思路代碼實現原題🔗 驗證迴文串 題目描述 題目 給定一個非空字符串 s,最多刪除一個字符。判斷是否能成爲迴文字符串。 示例 示例 1: 輸入: "aba" 輸出: True

原创 LeetCode 面試題☞通過刪除字母匹配到字典裏最長單詞

文章目錄通過刪除字母匹配到字典裏最長單詞題目描述題解代碼實現原題🔗 通過刪除字母匹配到字典裏最長單詞 題目描述 題目 給定一個字符串和一個字符串字典,找到字典裏面最長的字符串,該字符串可以通過刪除給定字符串的某些字符來得到

原创 有序數組中的兩數之和

文章目錄兩數之和題目描述解題思路代碼實現複雜度分析 兩數之和 題目描述 題目 給定一個已按照升序排列的有序數組,找到兩個數使得它們相加之和等於目標數。 函數應該返回這兩個下標值 index1 和 index2,其中 inde

原创 Linux || 線程安全(安全,請放心執行)

線程安全 文章目錄線程安全一:線程的執行方式1.線程安全相關知識1.1臨界資源1.2.互斥量mutex1.3.線程鎖🔒的引入2.解決線程的不安全問題2.1.互斥量的接口2.2.死鎖的兩個場景多個進程多把鎖的問題(哲學家吃飯)死鎖的

原创 LeetCode 面試題 ☞ 合併兩個有序數組

文章目錄合併兩個有序的數組題目描述解題代碼實現原題🔗 合併兩個有序的數組 題目描述 題目 給你兩個有序整數數組 nums1 和 nums2,請你將 nums2 合併到 nums1 中,使 nums1 成爲一個有序數組。

原创 LeetCode 面試題☞環形鏈表【快慢指針/哈希表】

文章目錄題目描述解題哈希表版本代碼實現快慢指針代碼實現原題🔗 題目描述 題目 給定一個鏈表,判斷鏈表中是否有環。 爲了表示給定鏈表中的環,我們使用整數 pos 來表示鏈表尾連接到鏈表中的位置(索引從 0 開始)。 如果

原创 LeetCode 面試題☞反轉字符串中的元音字母

文章目錄反轉字符串中的元音字母題目描述解題雙端隊列版本代碼實現雙指針版本代碼實現原題🔗 反轉字符串中的元音字母 題目描述 題目 編寫一個函數,以字符串作爲輸入,反轉該字符串中的元音字母。 示例 示例1 輸入

原创 LeetCode || N叉樹的遍歷(前序,後序,層序)

文章目錄N叉樹的前序遍歷題解代碼實現N叉樹的後序遍歷題解N叉樹的層序遍歷題解代碼實現總結 N叉樹的前序遍歷 給定一個 N 叉樹,返回其節點值的前序遍歷。 例如,給定一個 3叉樹 : 返回其前序遍歷: [1,3,5,6,2

原创 牛客網 || 動態規劃->三角矩陣

原題鏈接🔗 題目描述 給出一個三角形,計算從三角形頂部到底部的最小路徑和,每一步都可以移動到下面一行相鄰的數字, 例如,給出的三角形如下: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 最小的從頂部

原创 數據結構 || 常見的排序算法@歸併排序

文章目錄歸併排序基本思想圖解過程代碼實現測試 歸併排序 基本思想 歸併排序(MERGE-SORT)是建立在歸併操作上的一種有效的排序算法,該算法是採用分治法(Divide and Conquer)的一個非常典型的應用。 將已

原创 數據結構 || 知識點總結一覽表

點擊下面連接查看 順序表 帶頭非循環雙鏈表 帶頭循環雙鏈表 二叉樹特點學習 二叉樹的實現(C++版) 堆的學習 堆的實現 插入排序 選擇排序 快速排序 歸併排序

原创 數據結構 || 常見的排序算法 @ 快速排序

文章目錄快速排序快速排序的流程將區間按照基準值劃分爲左右兩半部分的常見方法1.hoare版本2.挖坑法版本3.前後標兵法我的實現方式總結特性總結個人快排思想:(個人理解) 快速排序 快速排序是Hoare於1962年提出的一種二叉

原创 數據結構 || 常見的排序算法@選擇排序

選擇排序 基本思想:每一次從待排序的數據元素中選出最小的(或最大的)一個元素,存放在序列的起始位置,直到全所有的待排序元素排完. 直接選擇排序 在元素集合a[i]到a[n-1]之中選擇關鍵碼最大(最小)的數據元素 若

原创 數據結構 || 關於堆的那些事

前面我們說二叉樹有兩種儲存方式 1.鏈式存儲(之前已經實現過了) 二叉樹的實現(C++版) 2.順序存儲這便是我們要今天學習的堆了 堆:理論上是按照完全二叉樹結構存儲的 ,物理上卻是以數組的方式存儲的 文

原创 數據結構 ||大根堆的實現

文章目錄建堆(建大堆)向下調整向上調整堆的插入堆的刪除整體實現測試代碼測試結果展示 建堆(建大堆) 算法思想 1.將指定數組的相關屬性拷貝給目標堆 2.針對堆數組向滿足堆性質的方向調整 代碼實現 void Heap