華為 2014 機試真題:動態輸入解析與最值求和(含 Bug 修復版)
題目要求 輸入 1~50 個整數(以半角逗號分隔,可含負號、多位數),求最小值與最大值之和並輸出。輸入以換行結束。 核心難點 不定長度輸入:無法直接 x
堆排序完整實現:從建堆、調整到排序的 C++ 代碼詳解
算法回顧 堆排序利用完全二叉樹的堆性質(父節點 ≥ 子節點為大頂堆,≤ 為小頂堆),分兩階段: 建堆:將無序數組調整為堆,自下而上對每個非葉節點下沉。 排序:
PAT 1017 Queueing at Bank:多窗口排隊模擬與平均等待時間計算
題目大意 銀行有 K 個窗口,N 位顧客。每位顧客有到達時間(hh:mm:ss)和辦理時長(分鐘)。銀行營業時間 08:00:00–17:00:00。規則:
Win32 多線程同步機制詳解 - 臨界區與互斥量對比實戰
多線程同步核心問題 多線程並發訪問共享數據時,若無同步機制會導致競態條件。同步機制作為「紅綠燈」協調線程有序訪問共享資源。 同步 vs 異步 概念釐清 同步
C++ 動態內存管理深度解析 - new/delete 與 malloc/free 的區別與最佳實踐
內存區劃分回顧 區域C/C++ 術語管理方式典型內容 棧Stack編譯器自動分配/釋放局部變量、函數參數、返回地址 堆Heap (C++)程序員 new/de
視頻幂置亂與逆置亂:基於混沌序列的幂重排序
視頻幂置亂/逆置亂:Logistic 映射生成置亂序列 使用一維 Logistic 混沌映射 `x_{n+1} = 1 - 2*x_n^2` 生成偽隨機序列,對
字符串刪除指定字符集 - 雙指針原地刪除算法詳解
問題描述 給定字符串 str1 和字符集 str2,從 str1 中刪除所有出現在 str2 中的字符,原地修改 str1。例如 str1=they are s
簡單選擇排序算法詳解 - 原理、實現與優化對比
算法核心思想 選擇排序每輪從未排序部分選出最小元素,與未排序區首元素交換。共需 n-1 輪,每輪確定一個元素最終位置。 基礎版實現(含邏輯缺陷分析) #inc
冒泡排序算法詳解 - 從基礎版到優化版完整實現
算法核心思想 冒泡排序通過相鄰元素兩兩比較、交換,將大元素逐步「冒泡」到數組末尾。每輪結束,未排序部分的最大值移至正確位置。 基礎版實現(教學用) #incl
字符串轉整數算法實現 - 手寫 atoi 核心邏輯與邊界處理
問題描述 實現 string_to_number(char* str):將數字字符串(含可選 +/- 符號)轉換為對應整數。如 -1234 → -1234。
經典組合數學問題:20桶180魚的動態規劃求解全過程
題目重述 有 20 個桶,每桶 10 條魚。每次從一個桶中隨機撈取 0~10 條魚,每桶只能撈一次。問恰好撈到 180 條魚的方案數(或概率)。 核心轉化:補
HDU Good Numbers - 數位規律與邊界處理技巧
題目大意 定義 Good Number:一個非負整數,其各位數字之和的個位數等於該數個位數字。給定區間 [a, b],求 Good Numbers 的個數。多組
Codeforces 19D Points - 線段樹+離散化+Set 解決二維平面查找
問題重述 動態維護二維平面點集,支援三種操作: add x y:插入點 (x, y) remove x y:刪除點 (x, y) find x y y 的點,
C++ 設計模式實戰:Visitor + Iterator 組合模式完整實現
模式動機與適用場景 當需要對複雜對象結構(如組合模式樹)執行多種不同操作,且操作邏輯頻繁變化時,Visitor 模式將操作與數據結構分離;配合 Iterator
裸指針與智能指針性能深度對比:unique_ptr vs shared_ptr
實驗背景與目的 本文通過實際代碼測試,對比裸指針、unique_ptr、shared_ptr 在大量分配/釋放場景下的性能表現,並驗證智能指針的內存釋放正確性。
POJ 1741 Tree - 樹的分治算法詳解與代碼實現
題目背景與核心思路 POJ 1741 Tree 是一道經典的樹分治問題。核心思想是將路徑分為「經過樹根」與「不經過樹根」兩類,每次處理經過當前根節點的路徑,剩下
UVC 攝像頭驅動代碼解析(六):視頻鏈掃描與實體拓撲構建
視頻鏈概念 Video Chain = 從 Input Terminal (IT) 到 Output Terminal (OT) 的實體路徑。一個 OT 對應一