排序查找算法
查找算法
生成消費(fèi)者
- TH_01_1_基于synchronized與wait/notify的生產(chǎn)消費(fèi)者模式
- TH_01_2_基于ReentractLock和Condition的生產(chǎn)消費(fèi)者模式
- TH_01_3_基于Semaphore(信號(hào)量)的生產(chǎn)消費(fèi)者模式
- TH_02_AB兩個(gè)線程交替打印0-100的數(shù)字
- TH_03_1多線程指定順序執(zhí)行join
- TH_03_2多線程指定順序執(zhí)行synchronized
- TH_03_3_多線程指定順序執(zhí)行ReentrantLock.
- TH_03_4_多線程指定順序執(zhí)行Semaphore
- TH_04_寫一個(gè)死鎖程序
A1_單例模式
A2_數(shù)
- JZ10_1_斐波那契數(shù)列
- JZ10_2_青蛙跳臺(tái)階
- JZ10_3_青蛙跳臺(tái)階
- JZ10_4_小矩形覆蓋大矩形
- JZ13_機(jī)器人運(yùn)動(dòng)范圍
- JZ14_剪繩子
- JZ15_1_二進(jìn)制中1的個(gè)數(shù)
- JZ15_2_是不是2的整數(shù)次方
- JZ15_3_m的二進(jìn)制改變多少位得到n
- JZ16_數(shù)值的整數(shù)次方
- JZ43_1至n個(gè)整數(shù)1出現(xiàn)的次數(shù)
- JZ44_數(shù)字序列中某一位的數(shù)字
- JZ49_丑數(shù)
- JZ60_n個(gè)骰子和為s的概率
- JZ62_圓圈剩下最后一個(gè)數(shù)字
- JZ64_求1加到n的和
- JZ65_不用加減乘除做加法
- OT_TopK問題
- OT_二進(jìn)制加法
- OT_前n個(gè)數(shù)字二進(jìn)制中1的個(gè)數(shù)
- OT_大數(shù)相加
- OT_整數(shù)除法
A3_數(shù)組
- JZ03_1_整型數(shù)組中重復(fù)的元素
- JZ03_2_整型數(shù)組中重復(fù)的元素
- JZ04_二維數(shù)組找某數(shù)
- JZ05_1_替換空格
- JZ05_2_合并兩個(gè)排序數(shù)組
- JZ11_旋轉(zhuǎn)數(shù)組的最小數(shù)字
- JZ12_矩陣是否包含某字符路徑
- JZ21_調(diào)整數(shù)組順序使奇數(shù)位于偶數(shù)前面
- JZ29_順時(shí)針打印二維數(shù)組
- JZ39_數(shù)組中出現(xiàn)次數(shù)超過一半的數(shù)字
- JZ40_找出數(shù)組中最小的k個(gè)數(shù)
- JZ41_數(shù)據(jù)流的中位數(shù)
- JZ42_連續(xù)子數(shù)組的最大和
- JZ45_把數(shù)組排列成最小的數(shù)
- JZ47_禮物的最大價(jià)值
- JZ51_數(shù)組中的逆序?qū)?/a>
- JZ53_1_在排序數(shù)組中查找數(shù)字
- JZ53_2_0到n減1中缺失的數(shù)字
- JZ53_3_遞增數(shù)組查找下標(biāo)相等的數(shù)
- JZ56_1_數(shù)組數(shù)字出現(xiàn)的次數(shù)
- JZ56_2_數(shù)組數(shù)字出現(xiàn)的次數(shù)
- JZ57_1_和為s的數(shù)字
- JZ57_2_和為s的連續(xù)正數(shù)序列
- JZ61_撲克牌的順子
- JZ63_股票最大的利益
- JZ66_構(gòu)建乘積數(shù)組
- OT_字符串?dāng)?shù)組去重
- OT_最大正方形
A4_字符串
- JZ17_打印1到最大的n為數(shù)
- JZ19_正則表達(dá)式匹配
- JZ20_表示數(shù)值的字符串
- JZ38_1_字符串的排列
- JZ38_2_正方體三組向?qū)γ?/a>
- JZ38_3_八皇后
- JZ46_把數(shù)字翻譯成字符串
- JZ48_最長不含重復(fù)字符的子字符串
- JZ50_第一個(gè)只出現(xiàn)一次的字符
- JZ58_1_翻轉(zhuǎn)單詞順序
- JZ58_2_左旋轉(zhuǎn)字符
- JZ67_把字符串轉(zhuǎn)換成整數(shù)
- OT_字符串去重
- OT_字符串的交集
A5_棧和隊(duì)列
- JZ09_1_用兩個(gè)棧實(shí)現(xiàn)隊(duì)列
- JZ09_2_用兩個(gè)隊(duì)列實(shí)現(xiàn)棧
- JZ30_包含min函數(shù)的棧
- JZ31_1_棧的壓入彈出序列
- JZ31_2_是否是回文數(shù)
- JZ59_1_滑動(dòng)窗口的最大值
- JZ59_2_隊(duì)列的最大值
A6_鏈表
- JZ06_從尾到頭打印鏈表
- JZ18_1_刪除鏈表節(jié)點(diǎn)
- JZ18_2_刪除鏈表節(jié)點(diǎn)
- JZ18_3_刪除鏈表重復(fù)節(jié)點(diǎn)
- JZ18_4_刪除鏈表重復(fù)節(jié)點(diǎn)
- JZ22_1_鏈表倒數(shù)第K個(gè)節(jié)點(diǎn)
- JZ22_2_鏈表的中間節(jié)點(diǎn)
- JZ23_鏈表中環(huán)的入口節(jié)點(diǎn)
- JZ24_1_反轉(zhuǎn)鏈表
- JZ24_2_反轉(zhuǎn)鏈表m至n節(jié)點(diǎn)
- JZ24_3_旋轉(zhuǎn)鏈表
- JZ25_合并兩排序鏈表
- JZ35_復(fù)雜鏈表的復(fù)制
- JZ52_兩鏈表第一個(gè)公共節(jié)點(diǎn)
- OT_k個(gè)一組翻轉(zhuǎn)鏈表
- OT_合并K個(gè)升序鏈表
- OT_排序鏈表
- OT_鏈表表示的兩數(shù)相加
A7_二叉樹
- JZ07_1_二叉樹前中后層序遍歷
- JZ07_2_重建二叉樹
- JZ08_二叉樹的下一個(gè)節(jié)點(diǎn)
- JZ26_樹的子結(jié)構(gòu)
- JZ27_二叉樹的鏡像
- JZ28_對(duì)稱的二叉樹
- JZ32_1_不分行從上到下打印二叉樹
- JZ32_2_分行從上到下打印二叉樹
- JZ32_3_之字形打印二叉樹
- JZ32_4_二叉樹第k層的第一個(gè)或最后一個(gè)節(jié)點(diǎn)
- JZ33_數(shù)組是否是某二叉搜索樹的后續(xù)遍歷序列
- JZ34_二叉樹和為某一值的路徑
- JZ36_二叉搜索樹轉(zhuǎn)換為雙向鏈表
- JZ37_1_序列化和反序列化二叉樹
- JZ37_2_序列化和反序列化二叉樹
- JZ54_二叉搜索樹的第k大節(jié)點(diǎn)
- JZ55_1_二叉樹的最大深度
- JZ55_2_是不是平衡二叉樹
- JZ68_1_二叉搜索樹的最近公共祖先
- JZ68_2_二叉樹的最近公共祖先
- JZ68_3_帶父親指針的二叉樹的最近公共祖先
- JZ68_4_多叉樹的最近公共祖先
- OT_二叉樹的寬度
- OT_二叉樹的最大寬度
- OT_前序數(shù)組重建二分搜索樹
- OT_后序數(shù)組重建二分搜索樹
擴(kuò)展
(1)64匹馬,8個(gè)賽道,找出跑得最快的4匹馬严蓖?
(2)用天平在16個(gè)球中找出最重的球需要幾次
- 3次泞当,(1)先分成2組椿胯,每組8個(gè)娩脾,放天平上知市,重的那個(gè)在哪邊很容易看出來擅耽。(2)再在輕的那8個(gè)中取出1個(gè)活孩,放到重的這邊,湊成9個(gè)球乖仇,然后把這個(gè)9個(gè)球分成3組憾儒,任意選兩組放到天平上:①如果一樣重,則重的那個(gè)球在另一組沒過秤的那3個(gè)球里乃沙。②如果不一樣重起趾,則重的那個(gè)球就在重的那一組里。(3)挑出這一組崔涂,重復(fù)第二步驟可找到那個(gè)重一點(diǎn)的小球阳掐。
(3)三門問題?
- 換2/3的概率拿到獎(jiǎng)品冷蚂,不換1/3的概率拿到獎(jiǎng)品缭保。