關(guān)于我們
書單推薦
新書推薦
|
玩轉(zhuǎn)Java 讀者對(duì)象:本書可作為程序開發(fā)人員及其他IT從業(yè)者學(xué)習(xí)和提升算法能力的參考書,也可作為高校計(jì)算機(jī)相關(guān)專業(yè)的教材
本書提供了300個(gè)Java案例,針對(duì)經(jīng)典算法,基于相關(guān)的數(shù)據(jù)結(jié)構(gòu),將問題描述、問題示例、代碼實(shí)現(xiàn)及運(yùn)行結(jié)果相結(jié)合進(jìn)行講解。
1. 內(nèi)容全面:系統(tǒng)介紹了Java編程的各類實(shí)例,適合讀者入門到精通。 2. 實(shí)用性強(qiáng):采用案例來編排內(nèi)容,讀者能夠通過實(shí)例來掌握編程思想。 3. 資源豐富:配套提供了全書300個(gè)例子的源代碼,便于動(dòng)手實(shí)踐舉一反三。 Java語言是國內(nèi)外廣泛使用的計(jì)算機(jī)程序設(shè)計(jì)語言,是高等院校相關(guān)專業(yè)重要的基礎(chǔ)課程。它具有功能豐富、使用靈活方便、應(yīng)用面廣、目標(biāo)程序效率高、可移植性好等優(yōu)點(diǎn)。20世紀(jì)90年代以來,Java語言迅速在全世界得到推廣普及,是目前世界上優(yōu)秀的程序設(shè)計(jì)語言之一。 本書是作者為適應(yīng)當(dāng)前教育教學(xué)改革的創(chuàng)新要求,更好地踐行語言類課程注重實(shí)踐教學(xué)與創(chuàng)新能力培養(yǎng)的要求而組織編寫的。本書融合同類圖書的優(yōu)點(diǎn),采取創(chuàng)新方式,精選300個(gè)趣味性、實(shí)用性強(qiáng)的應(yīng)用實(shí)例,從不同難度、不同類型和不同數(shù)據(jù)結(jié)構(gòu)對(duì)Java語言實(shí)際算法進(jìn)行總結(jié),希望對(duì)教育教學(xué)起到拋磚引玉的作用。 本書的主要內(nèi)容和素材來自于各大互聯(lián)網(wǎng)公司面試算法、LintCode、LeetCode、九章算法和作者所在學(xué)校近幾年承擔(dān)的科研項(xiàng)目成果。作者所指導(dǎo)的研究生在研究過程中對(duì)學(xué)習(xí)和應(yīng)用的算法進(jìn)行了總結(jié),學(xué)生不僅學(xué)到了知識(shí),提高了能力,而且為本書提供了第一手素材和相關(guān)資料。 本書內(nèi)容由總到分,先提出問題后實(shí)踐,將算法描述與代碼實(shí)現(xiàn)相結(jié)合,可以作為從事網(wǎng)絡(luò)開發(fā)和算法實(shí)現(xiàn)專業(yè)人員的技術(shù)參考書、大學(xué)信息與通信工程及相關(guān)專業(yè)的本科生的Java算法實(shí)現(xiàn)教材、程序員的算法提高手冊,也可以為算法分析、算法設(shè)計(jì)、算法實(shí)現(xiàn)者提供幫助。 本書的編寫得到了教育部電子信息類專業(yè)教學(xué)指導(dǎo)委員會(huì)、信息工程專業(yè)國家第一類特色專業(yè)建設(shè)項(xiàng)目、信息工程專業(yè)國家第二類特色專業(yè)建設(shè)項(xiàng)目、教育部CDIO工程教育模式研究與實(shí)踐項(xiàng)目、教育部本科教學(xué)工程項(xiàng)目、信息工程專業(yè)北京市特色專業(yè)建設(shè)、北京市教育教學(xué)改革項(xiàng)目和北京郵電大學(xué)教育教學(xué)改革項(xiàng)目(2022SJJXA01)的大力支持,在此表示感謝! 由于作者經(jīng)驗(yàn)與水平有限,書中疏漏及不當(dāng)之處在所難免,衷心希望各位讀者多提寶貴意見,以便再版時(shí)進(jìn)一步修改和完善。
李永華于北京郵電大學(xué) 2023年9月
李永華 北京郵電大學(xué)教授,博士生導(dǎo)師。擁有超過20年的軟硬件開發(fā)經(jīng)驗(yàn),長期致力于物聯(lián)網(wǎng)、云計(jì)算與人工智能的教學(xué)和科研工作。在教學(xué)中,以興趣為導(dǎo)向,激發(fā)學(xué)生的創(chuàng)造能力;以素質(zhì)為基礎(chǔ),提高自身教學(xué)水平;以科研為手段,促進(jìn)教學(xué)理念的轉(zhuǎn)變。在實(shí)踐中,提出了“面向系統(tǒng)、虛實(shí)結(jié)合、立體多維”的高素質(zhì)創(chuàng)新人才培養(yǎng)模式,指導(dǎo)大學(xué)生創(chuàng)新案例400余項(xiàng)。在科研中,堅(jiān)持“以正治學(xué),以奇創(chuàng)新,以實(shí)促研”;主持國家級(jí)與企事業(yè)單位課題30余項(xiàng),申請專利50余項(xiàng),發(fā)表論文100余篇,出版教材專著30余部。
第一篇編 程 入 門 實(shí)例001交換數(shù)組中的兩個(gè)元素 實(shí)例002輸出第幾個(gè)質(zhì)數(shù) 實(shí)例003求三個(gè)數(shù)之中的最大值 實(shí)例004字母大小寫的轉(zhuǎn)換 實(shí)例005找出數(shù)組中出現(xiàn)次數(shù)最多的數(shù)字 實(shí)例006返回Excel表的列號(hào) 實(shí)例007返回尾部0的個(gè)數(shù) 實(shí)例008兩字符串之和 實(shí)例009計(jì)算質(zhì)數(shù)的個(gè)數(shù) 實(shí)例010是否包含重復(fù)元素 實(shí)例0112的冪 實(shí)例0124的乘方 實(shí)例013添加字符 實(shí)例014翻轉(zhuǎn)字符串1 實(shí)例015完全平方數(shù) 實(shí)例016有效的字母異位詞 實(shí)例017二階階乘 實(shí)例018最大數(shù)和最小數(shù) 實(shí)例019翻轉(zhuǎn)數(shù)組 實(shí)例020有效的三角形 實(shí)例021進(jìn)制轉(zhuǎn)換 實(shí)例022時(shí)間角度 實(shí)例023旋轉(zhuǎn)數(shù)組 實(shí)例024判斷一個(gè)整數(shù)對(duì)應(yīng)的二進(jìn)制數(shù)中有多少個(gè)1 實(shí)例025硬幣擺放 實(shí)例026具有交替位的二進(jìn)制數(shù) 實(shí)例027棒球游戲 實(shí)例028七進(jìn)制 實(shí)例029英語軟件 實(shí)例030重排 實(shí)例031不可變的數(shù)組 實(shí)例032首字母大寫 實(shí)例033單詞間的最短距離 實(shí)例034會(huì)議室 實(shí)例035連續(xù)1的最大個(gè)數(shù) 實(shí)例036回文排列 實(shí)例037最短無序連續(xù)子數(shù)組 實(shí)例038兩個(gè)列表的最小索引和 實(shí)例039合并排序數(shù)組 實(shí)例040在二進(jìn)制表示的整數(shù)中計(jì)算置位位數(shù)為質(zhì)數(shù)的個(gè)數(shù) 實(shí)例041一個(gè)月的天數(shù) 實(shí)例042構(gòu)造矩形 實(shí)例043尋找下一個(gè)更大的數(shù) 實(shí)例044鍵盤的一行按鍵輸入的單詞 實(shí)例045完美數(shù) 實(shí)例046找不同 實(shí)例047刪除字符 實(shí)例048集合運(yùn)算 實(shí)例049字符串中的單詞數(shù) 實(shí)例050路徑總和 實(shí)例051回旋鏢的數(shù)量 實(shí)例052查找所有數(shù)組中未出現(xiàn)的數(shù)字 實(shí)例053使數(shù)組元素相同的最少操作步數(shù) 實(shí)例054重復(fù)的子串模式 實(shí)例055補(bǔ)數(shù) 實(shí)例056第三大的數(shù) 實(shí)例057轉(zhuǎn)換為十六進(jìn)制數(shù) 實(shí)例058判斷尾數(shù) 實(shí)例059返回?cái)?shù)組中出現(xiàn)奇數(shù)次的元素 實(shí)例060翻轉(zhuǎn)字符串中的元音字母 實(shí)例061最高頻率的IP 實(shí)例062二分查找 實(shí)例063相同數(shù)字 實(shí)例064路徑和 實(shí)例065生成給定大小的數(shù)組 實(shí)例066缺少的子串 實(shí)例067鏈表轉(zhuǎn)換為數(shù)組 實(shí)例068簡單計(jì)算器 實(shí)例069將字符轉(zhuǎn)換為整數(shù) 實(shí)例070數(shù)字轉(zhuǎn)換問題 實(shí)例071尋找最大值 實(shí)例072轉(zhuǎn)換字符串為整數(shù) 實(shí)例073旋轉(zhuǎn)字符數(shù)組 實(shí)例074求數(shù)組元素中的最大值 實(shí)例075翻轉(zhuǎn)一個(gè)三位整數(shù) 實(shí)例076輸出X 實(shí)例077判斷數(shù)字與字母 實(shí)例078列表轉(zhuǎn)換 實(shí)例079字符串查找 實(shí)例080元素和最小的子數(shù)組 實(shí)例081有序數(shù)組的平方 實(shí)例082撿胡蘿卜 實(shí)例083安排面試的城市 實(shí)例084延伸字符串 實(shí)例085目標(biāo)移動(dòng) 實(shí)例086飛機(jī)座位 實(shí)例087輸出序列中出現(xiàn)X次的最大數(shù)字X 實(shí)例088旋轉(zhuǎn)數(shù)字 實(shí)例089返回字符串中出現(xiàn)次數(shù)最多的單詞 實(shí)例090回文子串 實(shí)例091數(shù)組劃分 實(shí)例092使指針停在索引0處的方案數(shù) 實(shí)例093數(shù)組的最長前綴 實(shí)例094最小移動(dòng)次數(shù) 實(shí)例095刪除最少的字符獲得正確格式的字符串 實(shí)例096尋找字母 實(shí)例097最長子串長度 實(shí)例098警報(bào)器 實(shí)例099數(shù)列求和 實(shí)例100最佳利用率 第二篇實(shí) 戰(zhàn) 提 高 實(shí)例101找出重復(fù)的數(shù)字 實(shí)例102平衡數(shù) 實(shí)例103將字符串變?yōu)榛匚拇? 實(shí)例104在二叉查找樹中插入節(jié)點(diǎn) 實(shí)例105翻轉(zhuǎn)ASCII編碼字符串 實(shí)例106選票最多的人 實(shí)例107最短重復(fù)子數(shù)組 實(shí)例108移動(dòng)機(jī)器人 實(shí)例109二叉搜索樹兩節(jié)點(diǎn)之差的最小值 實(shí)例110單調(diào)數(shù)組 實(shí)例111最小差值 實(shí)例112卡牌分組 實(shí)例113翻轉(zhuǎn)后的字符串(僅翻轉(zhuǎn)字母) 實(shí)例114比較字符串 實(shí)例115有效的山形數(shù)組 實(shí)例116增減字符串進(jìn)行匹配 實(shí)例117刪除索引序列后排序 實(shí)例118十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) 實(shí)例119統(tǒng)計(jì)合法數(shù) 實(shí)例120運(yùn)行時(shí)間差值 實(shí)例121滿足條件的字符串 實(shí)例122數(shù)組中距離最小的數(shù) 實(shí)例123變換矩陣 實(shí)例124投資結(jié)果 實(shí)例125增長率最高的股票 實(shí)例126鏈表的中間節(jié)點(diǎn) 實(shí)例127三維形體投影面積 實(shí)例128立方體總表面積 實(shí)例129特殊等價(jià)字符串組的數(shù)量 實(shí)例130二進(jìn)制流 實(shí)例131取數(shù)求和 實(shí)例132錢幣數(shù)量之和 實(shí)例133判斷字符串能否轉(zhuǎn)換 實(shí)例134轉(zhuǎn)換大小寫字母 實(shí)例135最大的連續(xù)子數(shù)組 實(shí)例136鈔票找零 實(shí)例137硬幣找零 實(shí)例138轉(zhuǎn)置矩陣 實(shí)例139二進(jìn)制最長距離 實(shí)例140葉子相似的二叉樹 實(shí)例141行走機(jī)器人 實(shí)例142最高平均分 實(shí)例143求數(shù)組點(diǎn)積 實(shí)例144能否到達(dá)終點(diǎn) 實(shí)例145最接近目標(biāo)值 實(shí)例146字符互換 實(shí)例147到最近的人的最大距離 實(shí)例148最長子串的長度 實(shí)例149較大分組的位置 實(shí)例150翻轉(zhuǎn)圖片 實(shí)例151比較含退格的字符串 實(shí)例152稱重金幣 實(shí)例153k進(jìn)制加法 實(shí)例154字符間最短距離 實(shí)例155坐纜車 實(shí)例156幸運(yùn)數(shù)字8 實(shí)例157日志排序 實(shí)例158查找第n個(gè)數(shù)位 實(shí)例159查找左葉子節(jié)點(diǎn)值的和 實(shí)例160整理字符串格式 實(shí)例161檢測大寫字母用法的正確性 實(shí)例162查找Kdiff對(duì)的數(shù)量 實(shí)例163翻轉(zhuǎn)字符串2 實(shí)例164計(jì)算二叉樹的直徑長度 實(shí)例165學(xué)生出勤記錄 實(shí)例166二叉樹傾斜程度 實(shí)例167重塑矩陣 實(shí)例168數(shù)組評(píng)分 實(shí)例169查找兩棵二叉樹相同結(jié)構(gòu)和節(jié)點(diǎn)值 實(shí)例170分糖果 實(shí)例171判斷能否種植花 實(shí)例172從二叉樹構(gòu)建字符串 實(shí)例173團(tuán)購商品次數(shù) 實(shí)例174合并兩棵二叉樹 實(shí)例175二叉樹每層的平均值 實(shí)例176尋找數(shù)據(jù)錯(cuò)誤 實(shí)例177構(gòu)建最大二叉樹 實(shí)例178設(shè)計(jì)平滑器 實(shí)例179不下降數(shù)組 實(shí)例180輸出二叉樹中次小的節(jié)點(diǎn) 實(shí)例181查找最長的單一路徑 實(shí)例182計(jì)算連續(xù)子串?dāng)?shù)量 實(shí)例183查找最短連續(xù)子數(shù)組 實(shí)例184找到詞典中最長的單詞 實(shí)例185尋找數(shù)組的中心索引 實(shí)例186判斷托普利茲矩陣 實(shí)例187寫入字符串所需的行數(shù) 實(shí)例188判斷是否為字符 實(shí)例189雷達(dá)探測 實(shí)例190提取符號(hào)和單詞 實(shí)例191二叉搜索樹中最接近的值 實(shí)例192計(jì)算舉重重量 實(shí)例193查找最大元素的子數(shù)組 實(shí)例194訂單分配 實(shí)例195形成字典序最小字符串 實(shí)例196矩陣中的最短路徑 實(shí)例197查找子數(shù)組和為k的個(gè)數(shù) 實(shí)例198計(jì)算漢明距離 實(shí)例199字符串排序 實(shí)例200字符串模式 第三篇高 級(jí) 編 程 實(shí)例201以相反的順序存儲(chǔ)值 實(shí)例202找到映射序列 實(shí)例203回文數(shù) 實(shí)例204兩數(shù)乘積 實(shí)例205求最短子數(shù)組長度 實(shí)例206統(tǒng)計(jì)循環(huán)單詞 實(shí)例207猜數(shù)字 實(shí)例208字符串之和 實(shí)例209尋找不重復(fù)的字符 實(shí)例210鏡像數(shù)字 實(shí)例211檢查字符串縮寫是否匹配 實(shí)例212判斷字符串是否同構(gòu) 實(shí)例213判斷矩形是否重疊 實(shí)例214尋找最小子樹 實(shí)例215二叉樹最長連續(xù)路徑長度 實(shí)例216數(shù)字相加 實(shí)例217字符計(jì)數(shù) 實(shí)例218嵌套列表的加權(quán)和 實(shí)例219計(jì)算兩數(shù)組的交集 實(shí)例220移動(dòng)0到數(shù)組尾部 實(shí)例221左側(cè)填充空格 實(shí)例222判斷丑數(shù) 實(shí)例223求柱子染色方案 實(shí)例224電影推薦 實(shí)例225快樂數(shù) 實(shí)例226查找數(shù)組中的第二大數(shù) 實(shí)例227查找等價(jià)二叉樹 實(shí)例228判斷對(duì)稱二叉樹 實(shí)例229判斷完全二叉樹 實(shí)例230整數(shù)排序 實(shí)例231目標(biāo)在數(shù)組中出現(xiàn)次數(shù) 實(shí)例232排序數(shù)組中最接近目標(biāo)的元素 實(shí)例233尋找目標(biāo)最后位置 實(shí)例234將二叉樹拆解成假鏈表 實(shí)例235將鏈表中的節(jié)點(diǎn)兩兩交換 實(shí)例236求島嶼的個(gè)數(shù) 實(shí)例237最后一個(gè)單詞的長度 實(shí)例238驗(yàn)證有效數(shù)字 實(shí)例239翻轉(zhuǎn)整數(shù)中的數(shù)字 實(shí)例240二進(jìn)制數(shù)求和 實(shí)例241查找最長連續(xù)上升子序列 實(shí)例242判斷數(shù)獨(dú)是否合法 實(shí)例243查找二叉樹的路徑和 實(shí)例244計(jì)算二進(jìn)制中有多少個(gè)1 實(shí)例245切割木棍組成正三角形 實(shí)例246查找最大字母 實(shí)例247數(shù)組求和 實(shí)例248檢查未站隊(duì)人數(shù) 實(shí)例249劃分鏈表 實(shí)例250棋子是否被攻擊 實(shí)例251修改字符串 實(shí)例252交叉數(shù)組 實(shí)例253數(shù)字兩兩配對(duì) 實(shí)例254數(shù)組去重 實(shí)例255序列相交 實(shí)例256簡化鏈表 實(shí)例257設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)數(shù)字 實(shí)例258距離最近的城市 實(shí)例259統(tǒng)計(jì)爬樓梯的方式 實(shí)例260查找最大元素和的連續(xù)子數(shù)組 實(shí)例261通用子數(shù)組數(shù)量 實(shí)例262判斷矩陣斜線上的元素是否相同 實(shí)例263判斷是否為子串 實(shí)例264計(jì)算丟雞蛋次數(shù) 實(shí)例265將二叉樹按照層級(jí)轉(zhuǎn)化為鏈表 實(shí)例266求方程的根 實(shí)例267查找丟失的整數(shù) 實(shí)例268交換二進(jìn)制數(shù)奇偶數(shù)位 實(shí)例269分解質(zhì)因數(shù) 實(shí)例270求最長回文串的長度 實(shí)例271冰雹猜想 實(shí)例272在排序鏈表中插入一個(gè)節(jié)點(diǎn) 實(shí)例273刪除無序鏈表的重復(fù)項(xiàng) 實(shí)例274用isSubstring函數(shù)判斷字符串的循環(huán)移動(dòng) 實(shí)例275求矩陣的之字形遍歷 實(shí)例276將整數(shù)n的二進(jìn)制表示轉(zhuǎn)換為整數(shù)m的二進(jìn)制表示 實(shí)例277排序數(shù)組轉(zhuǎn)換為高度最小的二叉搜索樹 實(shí)例278使用插入方式對(duì)鏈表進(jìn)行排序 實(shí)例279刪除數(shù)組中相同的數(shù)字 實(shí)例280鏈表求和 實(shí)例281合并兩個(gè)排序鏈表 實(shí)例282判斷兩個(gè)字符串是否為變位詞 實(shí)例283判斷字符串中是否沒有重復(fù)字符 實(shí)例284合并區(qū)間 實(shí)例285實(shí)現(xiàn)x的平方根 實(shí)例286尋找元素之和為0的子數(shù)組 實(shí)例287移動(dòng)機(jī)器人不同路徑的數(shù)量 實(shí)例288刪除排序鏈表中的重復(fù)元素 實(shí)例289判斷兩個(gè)輸入流結(jié)果是否相等 實(shí)例290查找數(shù)字之和為最小的路徑 實(shí)例291判斷是否為平衡二叉樹 實(shí)例292尋找落單的數(shù)字 實(shí)例293查找中位數(shù) 實(shí)例294二叉樹的層次遍歷 實(shí)例295二叉樹的后序遍歷 實(shí)例296二叉樹的中序遍歷 實(shí)例297二叉樹的前序遍歷 實(shí)例298合并排序整數(shù)數(shù)組 實(shí)例299在整數(shù)數(shù)組中找兩數(shù)之和等于給定數(shù)的數(shù) 實(shí)例300查找主元素 參考文獻(xiàn)
你還可能感興趣
我要評(píng)論
|