題目 思路 遞歸 最近公共祖先x滿足:x的左右子樹分別包含p節(jié)點(diǎn)或q節(jié)點(diǎn),或者x恰好是p節(jié)點(diǎn)或q節(jié)點(diǎn)且它的左子樹或右子樹有一個(gè)包含了另一個(gè)節(jié)點(diǎn) 存儲(chǔ)父節(jié)點(diǎn) 遍歷二叉樹使用哈希...
題目 思路 遞歸 最近公共祖先x滿足:x的左右子樹分別包含p節(jié)點(diǎn)或q節(jié)點(diǎn),或者x恰好是p節(jié)點(diǎn)或q節(jié)點(diǎn)且它的左子樹或右子樹有一個(gè)包含了另一個(gè)節(jié)點(diǎn) 存儲(chǔ)父節(jié)點(diǎn) 遍歷二叉樹使用哈希...
題目 思路 回溯 n個(gè)數(shù)共有種添加符號(hào)的方法,使用回溯遍歷所有的表達(dá)式,回溯過(guò)程中維護(hù)一個(gè)計(jì)數(shù)器count,記錄遇到結(jié)果為target的次數(shù)。 動(dòng)態(tài)規(guī)劃 原問(wèn)題等同于:找到n...
題目 思路 哈希表 我們考慮枚舉數(shù)組中的每個(gè)數(shù)x,考慮以其為起點(diǎn),不斷嘗試匹配x + 1, x + 2, ...是否存在,假設(shè)最長(zhǎng)匹配到了x + y,那么以x為起點(diǎn)的最長(zhǎng)連續(xù)...
題目 思路 時(shí)間復(fù)雜度是O(nlogn)的排序算法包括歸并排序、堆排序和快速排序(快速排序的最差時(shí)間復(fù)雜度是O()),其中最適合鏈表的排序算法是歸并排序。歸并排序基于分治算法...
參考網(wǎng)站:設(shè)計(jì)模式[http://c.biancheng.net/view/1338.html] 創(chuàng)建型模式 單例模式原型模式工廠方法模式抽象工廠方法模式建造者模式 單例模式...
題目 思路 暴力排序 排序最優(yōu)是O(nlogn),不滿足要求 最小堆 借助哈希表來(lái)建立數(shù)字和其出現(xiàn)次數(shù)的映射,遍歷一遍數(shù)組統(tǒng)計(jì)元素的頻率 維護(hù)一個(gè)元素?cái)?shù)目為k的最小堆 每次都...
題目 思路 - 動(dòng)態(tài)規(guī)劃 只有一間房間,偷竊該房屋 只有兩間房間,偷竊其中金額較高的房屋 大于兩間,對(duì)于第k間房屋,有兩個(gè)選項(xiàng):偷竊第k間房屋,那么就不能偷竊第k - 1間房...
題目 思路 暴力 兩重循環(huán) 遞減棧 遍歷整個(gè)數(shù)組,如果棧不空,且當(dāng)前數(shù)字大于棧頂元素,那么如果直接入棧的話就不是遞減棧,所以需要取出棧頂元素,由于當(dāng)前數(shù)字大于棧頂?shù)臄?shù)字,而且...
題目 思路 回溯 - 自上而下 第一眼想的是貪心,但需要準(zhǔn)確湊出amount,所以貪心不可能或許也是可能的?類似于排列組合的回溯,每次選擇可以選擇的集合中的最大的,不行就回溯...
題目 思路 暴力:三重循環(huán),超時(shí)了 去除重復(fù)計(jì)算:考慮以i結(jié)尾和為k的連續(xù)子數(shù)組個(gè)數(shù),即符合條件的下標(biāo)j的個(gè)數(shù),其中0ji且[j...i]這個(gè)子數(shù)組的和恰好為k。同時(shí),如果我...
題目 思路 暴力:兩次循環(huán) 快排:O(nlgn) 哈希表:O(n)、O(n) 異或: 異或的性質(zhì):交換律:可以任意交換運(yùn)算因子,結(jié)果不變結(jié)合律 (a^ b)^ c = a^ ...
1. mybatisplus和mysql的區(qū)別 【todo頭一個(gè)是啥。?!?2. Innodb索引,說(shuō)原理,如何創(chuàng)建索引 【todo放link】見其他文章 3. ACID特性...
1. 百萬(wàn)級(jí)數(shù)據(jù)的表項(xiàng)怎么設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu) 【todo】 2. 數(shù)據(jù)結(jié)構(gòu)中解決hash沖突的方法 【todo】 3. 什么是閉包 【todo】 4. 大文件排序 【todo】 5...
1. 測(cè)試分類 【todo】 2. 回歸測(cè)試 【todo】 3. 測(cè)試用例的設(shè)計(jì)方法 見其他文章 4. 測(cè)試發(fā)現(xiàn)了bug,但如果開發(fā)人員認(rèn)為不是bug怎么辦?如果在版本發(fā)布前...
1. final相關(guān),抽象類可以用final修飾嗎 使用 final 關(guān)鍵字聲明類、變量和方法需要注意以下幾點(diǎn): final 用在變量的前面表示變量的值不可以改變,此時(shí)該變量...
1. 進(jìn)程和線程的區(qū)別 概念進(jìn)程:對(duì)運(yùn)行時(shí)程序的封裝,是系統(tǒng)進(jìn)行資源調(diào)度和分配的的基本單位,實(shí)現(xiàn)了操作系統(tǒng)的并發(fā);線程:進(jìn)程的子任務(wù),是CPU調(diào)度和分派的基本單位,實(shí)現(xiàn)進(jìn)程內(nèi)...
1. http是7層協(xié)議哪層 應(yīng)用層 2. tcp、udp區(qū)別及使用場(chǎng)景 TCP面向連接(如打電話要先撥號(hào)建立連接);UDP是無(wú)連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接。 TCP...
題目 方法一:哈希表 遍歷所有節(jié)點(diǎn),使用哈希表來(lái)存儲(chǔ)所有已經(jīng)訪問(wèn)過(guò)的節(jié)點(diǎn)。如果到達(dá)了一個(gè)已經(jīng)訪問(wèn)過(guò)的節(jié)點(diǎn),則說(shuō)明是環(huán)形鏈表。 方法二:快慢指針 慢指針每次只移動(dòng)一步,而快指針...
題目 思路 用一個(gè)變量記錄一個(gè)歷史最低價(jià)格minprice,在第i天賣出股票能得到的利潤(rùn)是price[i] - minprice 實(shí)現(xiàn)