1365.有多少小于當前數(shù)字的數(shù)字
用一個哈希表hash(本題可以就用一個數(shù)組)來做數(shù)值和下標的映射。這樣就可以通過數(shù)值快速知道下標(也....
樹狀數(shù)組可以很簡單
那能不能找到一種間斷式的前綴和呢,只需要統(tǒng)計前面區(qū)間中的部分元素。這樣在修改某個a[i]的時候就不會....
有趣的算法題熱熱身:燈泡開關(guān)
通過上面的圖例,我們可以很清楚地看到,每一輪都會切換一批燈泡。關(guān)鍵是可能切換到之前已經(jīng)切換過的燈泡,....
一種優(yōu)化的方法:記憶化搜索
上面的做法可以得到最優(yōu)解,但有一個問題。如下例,以15為起點的時候,會嘗試把6->5->4->3->....
貪心算法:分發(fā)餅干
對每個孩子 i,都有一個胃口值 g[i],這是能讓孩子們滿足胃口的餅干的最小尺寸;并且每塊餅干 j,....
最容易學(xué)習(xí)和最難學(xué)的編程語言Top 5榜單
HTML 是用來為大多數(shù)網(wǎng)頁編碼的語言。它使用標簽和元素來定義如何顯示文本、圖像和互動形式。HTML....
接雨水問題的三種解法:暴力/備忘錄/雙指針
接雨水這道題目挺有意思,在面試題中出現(xiàn)頻率還挺高的,本文就來步步優(yōu)化,講解一下這道題。
如何輸出這樣的矩陣呢?
有這樣的一種矩陣,從左上角開始,順時針從外向里旋轉(zhuǎn),數(shù)字依次遞增,如果給定任意行n、列m,請問如何輸....
Trie樹數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)原理和題目實踐
Trie 樹又叫字典樹、前綴樹、單詞查找樹,是一種二叉樹衍生出來的高級數(shù)據(jù)結(jié)構(gòu),主要應(yīng)用場景是處理字....
最大子序和,貪心解法
從代碼角度上來講:遍歷nums,從頭開始用count累積,如果count一旦加上nums[i]變?yōu)樨?...
一道非常經(jīng)典的回溯算法問題:子集劃分問題
即,將 n 個標記了不同序號的球(標號為了體現(xiàn)順序的差異),放入 k 個標記了不同序號的盒子中(其中....
二叉樹的最小深度
遍歷順序上依然是后序遍歷(因為要比較遞歸返回之后的結(jié)果),但在處理中間節(jié)點的邏輯上,最大深度很容易理....
數(shù)組相關(guān)的雙指針算法
對于單鏈表來說,大部分技巧都屬于快慢指針,前文 單鏈表的六大解題套路 都涵蓋了,比如鏈表環(huán)判斷,倒數(shù)....
如何用回溯算法來解決數(shù)獨問題
算法的核心思路非常非常的簡單,就是對每一個空著的格子窮舉 1 到 9,如果遇到不合法的數(shù)字(在同一行....
hash表、快排與二分查找:兩數(shù)之和
從這里的分析我們其實可以知道,這本質(zhì)上其實是一個搜索問題,假如我知道第一個數(shù)字是2,而target是....
Git引出一個經(jīng)典的算法問題:最近公共祖先
這二者最直觀的區(qū)別就是:merge 方式合并的分支會看到很多「分叉」,而 rebase 方式合并的分....
所有遞歸代碼都可以轉(zhuǎn)為非遞歸代碼
之所以所有的遞歸都能轉(zhuǎn)為迭代算法是因為遞歸借助函數(shù)調(diào)用,函數(shù)調(diào)用本身就是基于調(diào)用棧這種結(jié)構(gòu)實現(xiàn)的,只....
一種比線段樹還高效的區(qū)間算法
但這里有個很明顯的問題,就是我們的數(shù)組f[i,j]定義的不合理,因為里面很多的小區(qū)間沒有用上,比如長....
如何對一維數(shù)組做maxpooling
最近在劍指offer里看到一道算法題很有意思,分享給大家。
一個迷你版類Unix操作系統(tǒng)
Minix 一開始向使用者收取極低的授權(quán)費,直到 2004 年,塔能鮑姆重新架構(gòu)與設(shè)計了整個系統(tǒng),更....
動態(tài)規(guī)劃:8行代碼搞定最大子數(shù)組和問題
這種解法最簡單,我們把所有子數(shù)組找出來,然后依次計算其和,找出一個最大的出來,比如給定數(shù)組[1,2,....
騰訊常考的十道算法題
如果是數(shù)組就好了,哈哈,因為數(shù)組可以直接通過下標訪問,很容易就可以解答這道題了。但是這是鏈表。鏈表不....
供個人和企業(yè)使用的最佳開源低代碼和無代碼平臺列表
低代碼/無代碼的主要概念并不新鮮,它可以追溯到十多年前的無代碼編程 (PWCT) 和類似系統(tǒng)。但是,....
如何取整求個無符號整數(shù)的平均值
取整求個無符號整數(shù)的平均值,居然也能整出花兒來?
深度剖析時間復(fù)雜度
相信每一位錄友都接觸過時間復(fù)雜度,但又對時間復(fù)雜度的認識處于一種朦朧的狀態(tài),所以是時候?qū)r間復(fù)雜度來....
如何將前中后序的遞歸框架改寫成迭代形式
之前經(jīng)常講涉及遞歸的算法題,我說過寫遞歸算法的一個技巧就是不要試圖跳進遞歸細節(jié),而是從遞歸框架上思考....
基礎(chǔ)算法:差分數(shù)組詳解
前文說前綴和主要適用的場景是原始數(shù)組不會被修改的情況下,頻繁查詢某個區(qū)間的累加和。
一文詳細了解Prim最小生成樹算法
像圖論算法這種高級算法雖然不算難,但是閱讀量普遍比較低,我本來是不想寫 Prim 算法的,但考慮到算....
二叉樹上應(yīng)該怎么求
? 二叉樹上應(yīng)該怎么求,二叉搜索樹上又應(yīng)該怎么求? 在求眾數(shù)集合的時候有一個技巧,因為題目中眾數(shù)是可....