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