Dubbo 遠程 Zookeeper 服務無法訪問問題排查(防火牆/端口)
一、問題背景 內網環境下 Dubbo 生產者/消費者/Zookeeper 通訊正常。將 Zookeeper 和生產者部署到遠程服務器後,消費者雖能在 Dubbo
ZigZag 排列問題與經典面試題解析(LeetCode ZigZag Conversion)
一、背景:JPEG 編碼中的 Z 字形掃描 JPEG 壓縮中,8×8 圖像塊經 DCT 變換後,需按 Z 字形順序遍歷係數,將低頻係數前置,便於後續游程編碼。遍
LeetCode 筆記:First Missing Positive(缺失的第一個正數)
一、題目描述 給定未排序整數數組,找出其中缺失的最小正整數。要求 O(n) 時間、O(1) 額外空間。 範例: [1,2,0] → 3;[3,4,-1,1] →
POJ 3468:A Simple Problem with Integers(區間加、區間和,線段樹)
一、題目大意 維護一個長度為 N 的數組,支持兩種操作(Q 次): C a b c:區間 [a,b] 每個元素加 c Q a b:查詢區間 [a,b] 的和 數
LeetCode 292:Nim Game(尼姆遊戲)
一、題目描述 你和朋友玩 Nim 遊戲:一堆石子,每人輪流取 1~3 顆,取走最後一顆者勝。你先手。雙方都極其聰明。給定石子數 n,判斷你能否贏。 範例: n=
C++ vector 實戰:自定義類型的查找(find、find_if、lambda)
一、場景介紹 當 vector 存儲自定義類對象時,如何使用 std::find、std::find_if 進行查找?本文通過完整示例演示三種方式。 二、定義
LeetCode 258:Add Digits(各位相加 / 數字根)
一、題目描述 給定非負整數 num,反覆將各位數字相加,直到結果為一位數。要求 O(1) 時間、無循環/遞歸。 範例: 38 → 3+8=11 → 1+1=2
LeetCode Merge k Sorted Lists(合併 k 個有序鏈表)
一、題目描述 合併 k 個升序鏈表為一個升序鏈表並返回。 範例: 輸入:[[1,4,5],[1,3,4],[2,6]] → 輸出:1→1→2→3→4→4→5→6
HDU 1394:Minimum Inversion Number(最小逆序數,樹狀數組/線段樹)
一、題目大意 給定一個排列,每次操作將第一個元素移到末尾。求所有循環移位中逆序數的最小值。 二、解題思路 1. 用樹狀數組(BIT)求初始排列的逆序數 ans
LeetCode Swap Nodes in Pairs(兩兩交換鏈表節點)
一、題目描述 給定一個單鏈表,兩兩交換相鄰節點並返回新頭節點。不能修改節點值,只能改變指針,且使用常數額外空間。 範例: 1→2→3→4 → 2→1→4→3
LeetCode 104:Maximum Depth of Binary Tree(二叉樹的最大深度)
一、題目描述 給定一棵二叉樹,找出其最大深度。最大深度是指從根節點到最遠葉子節點的最長路徑上的節點數。 二、解題思路:遞歸 DFS 最大深度 = 1 + ma
LeetCode 99:Recover Binary Search Tree(恢復二叉搜索樹)
一、題目描述 一棵二叉搜索樹(BST)中有兩個節點被錯誤交換,請在不改變樹結構的情況下恢復它。 進階: 能否用 O(1) 空間完成?(Morris 遍歷) 二
LeetCode 筆記:Subsets(子集,無重複元素)
一、題目描述 給定一組 不含重複元素 的整數數組 nums,返回其所有可能的子集(冪集)。 注意: 子集內元素需非遞減排序,解集不含重複子集。 範例: nums
LeetCode Count and Say(外觀數列)
一、題目描述 「外觀數列」是一個整數序列,從 1 開始,每一項都是對前一項的描述: 1 被讀作 one 1 → 11 11 被讀作 two 1s → 21 2
LeetCode 113:Path Sum II(路徑總和 II)
一、題目描述 給定一棵二叉樹和一個目標和 sum,找出所有從根節點到葉子節點路徑總和等於目標和的路徑。 範例: 給定二叉樹: 5 / \
LeetCode 100:Same Tree(判斷兩棵二叉樹是否相同)
一、題目描述 給定兩棵二叉樹的根節點 p 和 q,編寫函數檢查它們是否相同。 兩棵樹相同的定義:結構完全一致,且對應節點的值相等。 二、解題思路:遞歸 採用深
LeetCode 實現 strStr():Sunday 算法詳解
一、題目描述 實現字符串查找函數 strStr()。若字符串 needle 是 haystack 的子串,返回其首次出現的索引;否則返回 -1。 注意: 空字符