核心原理 滑動(dòng)時(shí)間窗口的核心原理是: 我們先確認(rèn)一個(gè)窗口,這個(gè)創(chuàng)建就是一個(gè)單位時(shí)間,比如10s, 統(tǒng)計(jì)10s內(nèi)某個(gè)Redis的Key訪問次數(shù),這個(gè)10s就是一個(gè)單位時(shí)間窗口,...
一句話概括就是:將鏈表以x為標(biāo)定點(diǎn)分隔成兩部分既然是 2 部分,就可以開兩個(gè)鏈表,來跟蹤每一部分,最后處理完再合并下即可。 隨后,怎么感覺這種處理鏈表的技巧好像在哪見過,很熟...
假如要讓你封裝jedis以便讓外界調(diào)用你大概率會(huì)像下面方法一樣實(shí)現(xiàn)。 上面的這段代碼違反了DRY原則,兩個(gè)方法get()和set()大部分代碼是相同的(try,catch,f...
求和為奇數(shù)的子數(shù)組數(shù)組,如果直接暴力枚舉顯示不可取的,數(shù)據(jù)范圍比較大。 涉及到的數(shù)組和的問題,通常第一想法就是考慮能不能用前綴和去處理一下。 對(duì)應(yīng)到這題中,正好可以用前綴和處...
這題體現(xiàn)了二分的一種典型應(yīng)用: “猜答案” 如果沒做到類似的題,很難第一時(shí)間想到用二分去處理,針對(duì)這類問題只有多總結(jié),找到不同題目間共性,把本質(zhì)提取出來,才能在第一時(shí)間條件反...
對(duì)于這種簡單題,往往都是同類別題的母題最簡化版,一些難題不過是對(duì)母題加了各種維度的判斷,從而提升了難度。 這道題是非常經(jīng)典的DP問題,不用DP其實(shí)也能做, 但是為了加深對(duì)DP...
這是一道相當(dāng)經(jīng)典的動(dòng)態(tài)規(guī)劃問題,最初做這道題的時(shí)候,還是在大學(xué),當(dāng)時(shí)見到這題一頭霧水,看了別人的解析還是不太理解,而且看狀態(tài)方程時(shí),僅僅是看到了狀態(tài)的方程的 “形”,不懂每個(gè)...
本題雖說是個(gè)困難級(jí)別的題,但是如果看懂了給的樣例,還是非常好實(shí)現(xiàn)的。這道題其實(shí)能說的點(diǎn)不多,就是完全模擬題目提到了很關(guān)鍵的一點(diǎn):[盡可能多地往每行中放置單詞],為了滿足每行多...
給定正整數(shù) n,找到若干個(gè)完全平方數(shù)(比如 1, 4, 9, 16, ...)使得它們的和等于 n。你需要讓組成和的完全平方數(shù)的個(gè)數(shù)最少。 解題思路BFS解法,干凈利落。起初...
給定一個(gè)非負(fù)整數(shù)數(shù)組,你最初位于數(shù)組的第一個(gè)位置。數(shù)組中的每個(gè)元素代表你在該位置可以跳躍的最大長度。你的目標(biāo)是使用最少的跳躍次數(shù)到達(dá)數(shù)組的最后一個(gè)位置。[2,3,1,1,4]...
數(shù)字 n 代表生成括號(hào)的對(duì)數(shù),請(qǐng)你設(shè)計(jì)一個(gè)函數(shù),用于能夠生成所有可能的并且 有效的 括號(hào)組合。輸入:n = 3輸出:["((()))","(()())","(())()","...
給定一個(gè)數(shù)組 nums,有一個(gè)大小為 k 的滑動(dòng)窗口從數(shù)組的最左側(cè)移動(dòng)到數(shù)組的最右側(cè)。你只可以看到在滑動(dòng)窗口內(nèi)的 k 個(gè)數(shù)字。滑動(dòng)窗口每次只向右移動(dòng)一位。返回滑動(dòng)窗口中的最大...
工作中每天都在與工程代碼打交道,調(diào)用各種API,而忽略了一些最本質(zhì)和最基礎(chǔ)的編碼練習(xí),對(duì)于一些常用的基礎(chǔ)編碼練習(xí)還是非常有必要的。此外在面試時(shí)這點(diǎn)也非常重要,如果不刻意練習(xí)些...