排序算法筆記:選擇、插入、快速、希爾排序 C++/Java 實現
1. 簡單選擇排序 思路:每輪在未排序區選最小,換到有序區末尾。 void selectSort(vector<int>& a) { int
數據格式轉換服務:PDF 轉換技術全景指南
PDF 格式優勢 跨平台:與操作系統無關,Internet 發行首選。 封裝性:文字、字體、格式、顏色、圖形圖像、超鏈接、聲音、視頻全內嵌。 安全性:支持 4
ACdream OJ 1110 多重背包:二進制優化與單調隊列兩種解法
題目大意 有 n 種物品,第 i 種價值 a[i],數量 num[i]。背包容量 cap。求能湊出的不同總價值數量(0 不計)。多組測試數據。 解法一:二進制
GDI+ 圖片壓縮實戰:尺寸縮放與質量壓縮雙管齊下
兩種壓縮模式 模式核心 API適用場景特點 尺寸壓縮Graphics::DrawImage + Bitmap 重繪縮小分辨率、生成縮略圖文件大小穩定可控,質量
POJ 3278 Catch That Cow:BFS + 剪枝優化求最短步數
題目大意 農夫起點 N,目標牛位置 K(0 ≤ N, K ≤ 100,000)。農夫每步可:X+1、X-1、X*2。求到達 K 的最少步數。 BFS 基礎模型
求數組最長遞增子序列長度:O(n log n) 貪心 + 二分經典算法
問題定義 給定長度為 n 的整數數組 a[0..n-1],求最長嚴格遞增子序列(LIS)的長度。子序列不要求連續,只要求下標遞增且值嚴格遞增。 核心思想:尾值
設計模式 C++ 實戰:迭代器模式——封裝遍歷邏輯,解耦容器與算法
模式動機 不同容器(vector、list、數組、樹)內部結構迥異,但客戶代碼往往需要「統一遍歷」。迭代器模式將遍歷行為從容器中抽離,提供標準接口: hasN
設計模式 C++ 實戰:組合模式——統一處理樹形結構的葉子與容器
模式動機 需求:將對象組合成樹形結構表示「整體-部分」層次,客戶代碼統一處理單個對象(葉子)與組合對象(容器),無需區分類型。典型場景:文件系統、GUI 控件樹
Swift 單例管理 FMDB 數據庫:線程安全的數據訪問層封裝
設計目標 全局唯一數據庫連接(單例) 線程安全讀寫(NSLock) 自動建表與錯誤處理 Swift 風格 API,隱藏 FMDB 細節 核心實現 Boo
Android 補間動畫全解析:Alpha/Scale/Translate/Rotate 代碼與 XML 實現
補間動畫核心概念 只需定義關鍵幀(開始/結束狀態),中間幀由系統自動插值計算。四大基本類型: 類型Java 類XML 標籤核心屬性 透明度AlphaAnima
DM8168 PWM 驅動開發全記錄:內核模塊、用戶態測試與硬件寄存器操作
項目背景 基於 TI DM8168 (ARM Cortex-A8) 平台,編寫 PWM 控制器 Linux 內核驅動,通過字符設備接口暴露給用戶態應用,實現占空
Android SD 卡讀寫實戰:保存用戶登錄憑證
場景與權限 將用戶名/密碼以 user##pwd 格式存入 SD 卡 user.txt。寫操作需權限: <uses-permission android:
C++ 類設計核心原則總結:構造、拷貝、賦值、繼承與 const 正確性
一、編譯器自動生成的成員函數 1. 默認構造函數 無參或全帶默認參數的構造函數。 若用戶未聲明任何構造函數,編譯器會合成一個,調用基類與成員對象的默認構造函數
LeetCode 110. Balanced Binary Tree:遞歸判斷高度平衡
題目描述 給定一棵二叉樹,判斷其是否為高度平衡。定義:任意節點的左右子樹高度差不超過 1。 遞歸解法:自底向上剪枝 直觀做法是為每個節點分別計算左右子樹深度,
POJ 3225 Help with Intervals:區間操作的線段樹懶標記實現
題目概覽 維護一個集合 S ⊆ [0, 65536],支持五種區間操作: U l r:並集(置 1) I l r:交集(區間外置 0) D l r:差集(區間
POJ 2688 Cleaning Robot:BFS + 狀態壓縮 DP 求最短回收路徑
題目大意 給定一個 n × m 的網格地圖,包含障礙物 x、機器人起點 o 及若干垃圾 *。機器人每步可上下左右移動一格,求回收所有垃圾的最短步數;若無法全部回
POJ 2632 Crashing Robots:坐標系轉換與 fflush 導致 RE 的排查實錄
題目背景與初遇困境 POJ 2632 Crashing Robots 是一道經典的模擬題。乍看之下,模擬題往往「樣例過了就能 AC」,但這道題卻藏著不少坑。作者
基於 C++11 的線程池完整實現:設計模式、核心類與代碼詳解
背景動機 頻繁創建/銷毀線程開銷大(T1+T2+T3),任務耗時短時效率極低。線程池預創建 m 個線程,任務到達時從空閒池取線程執行,完成後歸還,避免重複開銷。