1365.有多少小于當前數字的數字
用一個哈希表hash(本題可以就用一個數組)來做數值和下標的映射。這樣就可以通過數值快速知道下標(也....
有趣的算法題熱熱身:燈泡開關
通過上面的圖例,我們可以很清楚地看到,每一輪都會切換一批燈泡。關鍵是可能切換到之前已經切換過的燈泡,....
一種優化的方法:記憶化搜索
上面的做法可以得到最優解,但有一個問題。如下例,以15為起點的時候,會嘗試把6->5->4->3->....
最容易學習和最難學的編程語言Top 5榜單
HTML 是用來為大多數網頁編碼的語言。它使用標簽和元素來定義如何顯示文本、圖像和互動形式。HTML....
Trie樹數據結構的實現原理和題目實踐
Trie 樹又叫字典樹、前綴樹、單詞查找樹,是一種二叉樹衍生出來的高級數據結構,主要應用場景是處理字....
一道非常經典的回溯算法問題:子集劃分問題
即,將 n 個標記了不同序號的球(標號為了體現順序的差異),放入 k 個標記了不同序號的盒子中(其中....
如何用回溯算法來解決數獨問題
算法的核心思路非常非常的簡單,就是對每一個空著的格子窮舉 1 到 9,如果遇到不合法的數字(在同一行....
hash表、快排與二分查找:兩數之和
從這里的分析我們其實可以知道,這本質上其實是一個搜索問題,假如我知道第一個數字是2,而target是....
Git引出一個經典的算法問題:最近公共祖先
這二者最直觀的區別就是:merge 方式合并的分支會看到很多「分叉」,而 rebase 方式合并的分....
所有遞歸代碼都可以轉為非遞歸代碼
之所以所有的遞歸都能轉為迭代算法是因為遞歸借助函數調用,函數調用本身就是基于調用棧這種結構實現的,只....
一種比線段樹還高效的區間算法
但這里有個很明顯的問題,就是我們的數組f[i,j]定義的不合理,因為里面很多的小區間沒有用上,比如長....
一個迷你版類Unix操作系統
Minix 一開始向使用者收取極低的授權費,直到 2004 年,塔能鮑姆重新架構與設計了整個系統,更....
動態規劃:8行代碼搞定最大子數組和問題
這種解法最簡單,我們把所有子數組找出來,然后依次計算其和,找出一個最大的出來,比如給定數組[1,2,....
供個人和企業使用的最佳開源低代碼和無代碼平臺列表
低代碼/無代碼的主要概念并不新鮮,它可以追溯到十多年前的無代碼編程 (PWCT) 和類似系統。但是,....
如何將前中后序的遞歸框架改寫成迭代形式
之前經常講涉及遞歸的算法題,我說過寫遞歸算法的一個技巧就是不要試圖跳進遞歸細節,而是從遞歸框架上思考....
一文詳細了解Prim最小生成樹算法
像圖論算法這種高級算法雖然不算難,但是閱讀量普遍比較低,我本來是不想寫 Prim 算法的,但考慮到算....