书籍详情
玩转Java:手把手教你编写300个精彩案例
作者:李永华、陈宏铭
出版社:清华大学出版社
出版时间:2023-09-01
ISBN:9787302639756
定价:¥89.00
购买这本书可以去
内容简介
本书提供了300个完整的Java案例,从算法上分为数学、搜索、回溯、递归、排序、迭代、贪心和动态规划等; 从数据结构上分为字符串、数组、指针、区间、队列、矩阵、堆栈、链表、哈希表、线段树、二叉树、二叉搜索树和图结构等。本书针对经典算法,基于相关的数据结构,将问题描述、问题示例、代码实现及运行结果相结合进行讲解,逻辑清晰,内容丰富,可作为程序开发人员及其他IT从业者学习和提升算法能力的参考书,也可作为高校计算机相关专业的教材。
作者简介
李永华北京邮电大学教授,博士生导师。拥有超过20年的软硬件开发经验,长期致力于物联网、云计算与人工智能的教学和科研工作。在教学中,以兴趣为导向,激发学生的创造能力;以素质为基础,提高自身教学水平;以科研为手段,促进教学理念的转变。在实践中,提出了“面向系统、虚实结合、立体多维”的高素质创新人才培养模式,指导大学生创新案例400余项。在科研中,坚持“以正治学,以奇创新,以实促研”;主持 与企 课题30余项,申请专利50余项,发表论文100余篇,出版教材专著30余部。
目录
目录
篇编 程 入 门
实例001交换数组中的两个元素
实例002输出第几个质数
实例003求三个数之中的 值
实例004字母大小写的转换
实例005找出数组中出现次数 多的数字
实例006返回Excel表的列号
实例007返回尾部0的个数
实例008两字符串之和
实例009计算质数的个数
实例010是否包含重复元素
实例0112的幂
实例0124的乘方
实例013添加字符
实例014翻转字符串1
实例015 平方数
实例016有效的字母异位词
实例017二阶阶乘
实例018 数和 小数
实例019翻转数组
实例020有效的三角形
实例021进制转换
实例022时间角度
实例023旋转数组
实例024判断一个整数对应的二进制数中有多少个1
实例025硬币摆放
实例026具有交替位的二进制数
实例027棒球游戏
实例028七进制
实例029英语软件
实例030重排
实例031不可变的数组
实例032首字母大写
实例033单词间的 短距离
实例034会议室
实例035连续1的 个数
实例036回文排列
实例037 短无序连续子数组
实例038两个列表的 小索引和
实例039合并排序数组
实例040在二进制表示的整数中计算置位位数为质数的个数
实例041一个月的天数
实例042构造矩形
实例043寻找下一个 大的数
实例044键盘的一行按键输入的单词
实例045 数
实例046找不同
实例047删除字符
实例048集合运算
实例049字符串中的单词数
实例050路径总和
实例051回旋镖的数量
实例052查找所有数组中未出现的数字
实例053使数组元素相同的 少操作步数
实例054重复的子串模式
实例055补数
实例056第三大的数
实例057转换为十六进制数
实例058判断尾数
实例059返回数组中出现奇数次的元素
实例060翻转字符串中的元音字母
实例061 频率的IP
实例062二分查找
实例063相同数字
实例064路径和
实例065生成给定大小的数组
实例066缺少的子串
实例067链表转换为数组
实例068简单计算器
实例069将字符转换为整数
实例070数字转换问题
实例071寻找 值
实例072转换字符串为整数
实例073旋转字符数组
实例074求数组元素中的 值
实例075翻转一个三位整数
实例076输出X
实例077判断数字与字母
实例078列表转换
实例079字符串查找
实例080元素和 小的子数组
实例081有序数组的平方
实例082捡胡萝卜
实例083安排面试的城市
实例084延伸字符串
实例085目标移动
实例086飞机座位
实例087输出序列中出现X次的 数字X
实例088旋转数字
实例089返回字符串中出现次数 多的单词
实例090回文子串
实例091数组划分
实例092使指针停在索引0处的方案数
实例093数组的 长前缀
实例094 小移动次数
实例095删除 少的字符获得正确格式的字符串
实例096寻找字母
实例097 长子串长度
实例098警报器
实例099数列求和
实例100 利用率
第二篇实 战 提 高
实例101找出重复的数字
实例102平衡数
实例103将字符串变为回文串
实例104在二叉查找树中插入节点
实例105翻转ASCII编码字符串
实例106选票 多的人
实例107 短重复子数组
实例108移动机器人
实例109二叉搜索树两节点之差的 小值
实例110单调数组
实例111 小差值
实例112卡牌分组
实例113翻转后的字符串(仅翻转字母)
实例114比较字符串
实例115有效的山形数组
实例116增减字符串进行匹配
实例117删除索引序列后排序
实例118十进制数转换为二进制数
实例119统计合法数
实例120运行时间差值
实例121满足条件的字符串
实例122数组中距离 小的数
实例123变换矩阵
实例124投资结果
实例125增长率 的股票
实例126链表的中间节点
实例127三维形体投影面积
实例128立方体总表面积
实例129特殊等价字符串组的数量
实例130二进制流
实例131取数求和
实例132钱币数量之和
实例133判断字符串能否转换
实例134转换大小写字母
实例135 的连续子数组
实例136钞票找零
实例137硬币找零
实例138转置矩阵
实例139二进制 长距离
实例140叶子相似的二叉树
实例141行走机器人
实例142 平均分
实例143求数组点积
实例144能否到达终点
实例145 接近目标值
实例146字符互换
实例147到 近的人的 距离
实例148 长子串的长度
实例149较大分组的位置
实例150翻转图片
实例151比较含退格的字符串
实例152称重金币
实例153k进制加法
实例154字符间 短距离
实例155坐缆车
实例156幸运数字8
实例157日志排序
实例158查找第n个数位
实例159查找左叶子节点值的和
实例160整理字符串格式
实例161检测大写字母用法的正确性
实例162查找Kdiff对的数量
实例163翻转字符串2
实例164计算二叉树的直径长度
实例165学生出勤记录
实例166二叉树倾斜程度
实例167重塑矩阵
实例168数组评分
实例169查找两棵二叉树相同结构和节点值
实例170分糖果
实例171判断能否种植花
实例172从二叉树构建字符串
实例173团购商品次数
实例174合并两棵二叉树
实例175二叉树每层的平均值
实例176寻找数据错误
实例177构建 二叉树
实例178设计平滑器
实例179不下降数组
实例180输出二叉树中次小的节点
实例181查找 长的单一路径
实例182计算连续子串数量
实例183查找 短连续子数组
实例184找到词典中 长的单词
实例185寻找数组的中心索引
实例186判断托普利兹矩阵
实例187写入字符串所需的行数
实例188判断是否为字符
实例189雷达探测
实例190提取符号和单词
实例191二叉搜索树中 接近的值
实例192计算举重重量
实例193查找 元素的子数组
实例194订单分配
实例195形成字典序 小字符串
实例196矩阵中的 短路径
实例197查找子数组和为k的个数
实例198计算汉明距离
实例199字符串排序
实例200字符串模式
第三篇高 级 编 程
实例201以相反的顺序存储值
实例202找到映射序列
实例203回文数
实例204两数乘积
实例205求 短子数组长度
实例206统计循环单词
实例207猜数字
实例208字符串之和
实例209寻找不重复的字符
实例210镜像数字
实例211检查字符串缩写是否匹配
实例212判断字符串是否同构
实例213判断矩形是否重叠
实例214寻找 小子树
实例215二叉树 长连续路径长度
实例216数字相加
实例217字符计数
实例218嵌套列表的加权和
实例219计算两数组的交集
实例220移动0到数组尾部
实例221左侧填充空格
实例222判断丑数
实例223求柱子染色方案
实例224电影
实例225快乐数
实例226查找数组中的第二大数
实例227查找等价二叉树
实例228判断对称二叉树
实例229判断 二叉树
实例230整数排序
实例231目标在数组中出现次数
实例232排序数组中 接近目标的元素
实例233寻找目标 位置
实例234将二叉树拆解成假链表
实例235将链表中的节点两两交换
实例236求岛屿的个数
实例237 一个单词的长度
实例238验证有效数字
实例239翻转整数中的数字
实例240二进制数求和
实例241查找 长连续上升子序列
实例242判断数独是否合法
实例243查找二叉树的路径和
实例244计算二进制中有多少个1
实例245切割木棍组成正三角形
实例246查找 字母
实例247数组求和
实例248检查未站队人数
实例249划分链表
实例250棋子是否被攻击
实例251修改字符串
实例252交叉数组
实例253数字两两配对
实例254数组去重
实例255序列相交
实例256简化链表
实例257设计数据结构存储数字
实例258距离 近的城市
实例259统计爬楼梯的方式
实例260查找 元素和的连续子数组
实例261通用子数组数量
实例262判断矩阵斜 的元素是否相同
实例263判断是否为子串
实例264计算丢鸡蛋次数
实例265将二叉树按照层级转化为链表
实例266求方程的根
实例267查找丢失的整数
实例268交换二进制数奇偶数位
实例269分解质因数
实例270求 长回文串的长度
实例271冰雹猜想
实例272在排序链表中插入一个节点
实例273删除无序链表的重复项
实例274用isSubstring函数判断字符串的循环移动
实例275求矩阵的之字形遍历
实例276将整数n的二进制表示转换为整数m的二进制表示
实例277排序数组转换为高度 小的二叉搜索树
实例278使用插入方式对链表进行排序
实例279删除数组中相同的数字
实例280链表求和
实例281合并两个排序链表
实例282判断两个字符串是否为变位词
实例283判断字符串中是否没有重复字符
实例284合并区间
实例285实现x的平方根
实例286寻找元素之和为0的子数组
实例287移动机器人不同路径的数量
实例288删除排序链表中的重复元素
实例289判断两个输入流结果是否相等
实例290查找数字之和为 小的路径
实例291判断是否为平衡二叉树
实例292寻找落单的数字
实例293查找中位数
实例294二叉树的层次遍历
实例295二叉树的序遍历
实例296二叉树的中序遍历
实例297二叉树的前序遍历
实例298合并排序整数数组
实例299在整数数组中找两数之和等于给定数的数
实例300查找主元素
参考文献
篇编 程 入 门
实例001交换数组中的两个元素
实例002输出第几个质数
实例003求三个数之中的 值
实例004字母大小写的转换
实例005找出数组中出现次数 多的数字
实例006返回Excel表的列号
实例007返回尾部0的个数
实例008两字符串之和
实例009计算质数的个数
实例010是否包含重复元素
实例0112的幂
实例0124的乘方
实例013添加字符
实例014翻转字符串1
实例015 平方数
实例016有效的字母异位词
实例017二阶阶乘
实例018 数和 小数
实例019翻转数组
实例020有效的三角形
实例021进制转换
实例022时间角度
实例023旋转数组
实例024判断一个整数对应的二进制数中有多少个1
实例025硬币摆放
实例026具有交替位的二进制数
实例027棒球游戏
实例028七进制
实例029英语软件
实例030重排
实例031不可变的数组
实例032首字母大写
实例033单词间的 短距离
实例034会议室
实例035连续1的 个数
实例036回文排列
实例037 短无序连续子数组
实例038两个列表的 小索引和
实例039合并排序数组
实例040在二进制表示的整数中计算置位位数为质数的个数
实例041一个月的天数
实例042构造矩形
实例043寻找下一个 大的数
实例044键盘的一行按键输入的单词
实例045 数
实例046找不同
实例047删除字符
实例048集合运算
实例049字符串中的单词数
实例050路径总和
实例051回旋镖的数量
实例052查找所有数组中未出现的数字
实例053使数组元素相同的 少操作步数
实例054重复的子串模式
实例055补数
实例056第三大的数
实例057转换为十六进制数
实例058判断尾数
实例059返回数组中出现奇数次的元素
实例060翻转字符串中的元音字母
实例061 频率的IP
实例062二分查找
实例063相同数字
实例064路径和
实例065生成给定大小的数组
实例066缺少的子串
实例067链表转换为数组
实例068简单计算器
实例069将字符转换为整数
实例070数字转换问题
实例071寻找 值
实例072转换字符串为整数
实例073旋转字符数组
实例074求数组元素中的 值
实例075翻转一个三位整数
实例076输出X
实例077判断数字与字母
实例078列表转换
实例079字符串查找
实例080元素和 小的子数组
实例081有序数组的平方
实例082捡胡萝卜
实例083安排面试的城市
实例084延伸字符串
实例085目标移动
实例086飞机座位
实例087输出序列中出现X次的 数字X
实例088旋转数字
实例089返回字符串中出现次数 多的单词
实例090回文子串
实例091数组划分
实例092使指针停在索引0处的方案数
实例093数组的 长前缀
实例094 小移动次数
实例095删除 少的字符获得正确格式的字符串
实例096寻找字母
实例097 长子串长度
实例098警报器
实例099数列求和
实例100 利用率
第二篇实 战 提 高
实例101找出重复的数字
实例102平衡数
实例103将字符串变为回文串
实例104在二叉查找树中插入节点
实例105翻转ASCII编码字符串
实例106选票 多的人
实例107 短重复子数组
实例108移动机器人
实例109二叉搜索树两节点之差的 小值
实例110单调数组
实例111 小差值
实例112卡牌分组
实例113翻转后的字符串(仅翻转字母)
实例114比较字符串
实例115有效的山形数组
实例116增减字符串进行匹配
实例117删除索引序列后排序
实例118十进制数转换为二进制数
实例119统计合法数
实例120运行时间差值
实例121满足条件的字符串
实例122数组中距离 小的数
实例123变换矩阵
实例124投资结果
实例125增长率 的股票
实例126链表的中间节点
实例127三维形体投影面积
实例128立方体总表面积
实例129特殊等价字符串组的数量
实例130二进制流
实例131取数求和
实例132钱币数量之和
实例133判断字符串能否转换
实例134转换大小写字母
实例135 的连续子数组
实例136钞票找零
实例137硬币找零
实例138转置矩阵
实例139二进制 长距离
实例140叶子相似的二叉树
实例141行走机器人
实例142 平均分
实例143求数组点积
实例144能否到达终点
实例145 接近目标值
实例146字符互换
实例147到 近的人的 距离
实例148 长子串的长度
实例149较大分组的位置
实例150翻转图片
实例151比较含退格的字符串
实例152称重金币
实例153k进制加法
实例154字符间 短距离
实例155坐缆车
实例156幸运数字8
实例157日志排序
实例158查找第n个数位
实例159查找左叶子节点值的和
实例160整理字符串格式
实例161检测大写字母用法的正确性
实例162查找Kdiff对的数量
实例163翻转字符串2
实例164计算二叉树的直径长度
实例165学生出勤记录
实例166二叉树倾斜程度
实例167重塑矩阵
实例168数组评分
实例169查找两棵二叉树相同结构和节点值
实例170分糖果
实例171判断能否种植花
实例172从二叉树构建字符串
实例173团购商品次数
实例174合并两棵二叉树
实例175二叉树每层的平均值
实例176寻找数据错误
实例177构建 二叉树
实例178设计平滑器
实例179不下降数组
实例180输出二叉树中次小的节点
实例181查找 长的单一路径
实例182计算连续子串数量
实例183查找 短连续子数组
实例184找到词典中 长的单词
实例185寻找数组的中心索引
实例186判断托普利兹矩阵
实例187写入字符串所需的行数
实例188判断是否为字符
实例189雷达探测
实例190提取符号和单词
实例191二叉搜索树中 接近的值
实例192计算举重重量
实例193查找 元素的子数组
实例194订单分配
实例195形成字典序 小字符串
实例196矩阵中的 短路径
实例197查找子数组和为k的个数
实例198计算汉明距离
实例199字符串排序
实例200字符串模式
第三篇高 级 编 程
实例201以相反的顺序存储值
实例202找到映射序列
实例203回文数
实例204两数乘积
实例205求 短子数组长度
实例206统计循环单词
实例207猜数字
实例208字符串之和
实例209寻找不重复的字符
实例210镜像数字
实例211检查字符串缩写是否匹配
实例212判断字符串是否同构
实例213判断矩形是否重叠
实例214寻找 小子树
实例215二叉树 长连续路径长度
实例216数字相加
实例217字符计数
实例218嵌套列表的加权和
实例219计算两数组的交集
实例220移动0到数组尾部
实例221左侧填充空格
实例222判断丑数
实例223求柱子染色方案
实例224电影
实例225快乐数
实例226查找数组中的第二大数
实例227查找等价二叉树
实例228判断对称二叉树
实例229判断 二叉树
实例230整数排序
实例231目标在数组中出现次数
实例232排序数组中 接近目标的元素
实例233寻找目标 位置
实例234将二叉树拆解成假链表
实例235将链表中的节点两两交换
实例236求岛屿的个数
实例237 一个单词的长度
实例238验证有效数字
实例239翻转整数中的数字
实例240二进制数求和
实例241查找 长连续上升子序列
实例242判断数独是否合法
实例243查找二叉树的路径和
实例244计算二进制中有多少个1
实例245切割木棍组成正三角形
实例246查找 字母
实例247数组求和
实例248检查未站队人数
实例249划分链表
实例250棋子是否被攻击
实例251修改字符串
实例252交叉数组
实例253数字两两配对
实例254数组去重
实例255序列相交
实例256简化链表
实例257设计数据结构存储数字
实例258距离 近的城市
实例259统计爬楼梯的方式
实例260查找 元素和的连续子数组
实例261通用子数组数量
实例262判断矩阵斜 的元素是否相同
实例263判断是否为子串
实例264计算丢鸡蛋次数
实例265将二叉树按照层级转化为链表
实例266求方程的根
实例267查找丢失的整数
实例268交换二进制数奇偶数位
实例269分解质因数
实例270求 长回文串的长度
实例271冰雹猜想
实例272在排序链表中插入一个节点
实例273删除无序链表的重复项
实例274用isSubstring函数判断字符串的循环移动
实例275求矩阵的之字形遍历
实例276将整数n的二进制表示转换为整数m的二进制表示
实例277排序数组转换为高度 小的二叉搜索树
实例278使用插入方式对链表进行排序
实例279删除数组中相同的数字
实例280链表求和
实例281合并两个排序链表
实例282判断两个字符串是否为变位词
实例283判断字符串中是否没有重复字符
实例284合并区间
实例285实现x的平方根
实例286寻找元素之和为0的子数组
实例287移动机器人不同路径的数量
实例288删除排序链表中的重复元素
实例289判断两个输入流结果是否相等
实例290查找数字之和为 小的路径
实例291判断是否为平衡二叉树
实例292寻找落单的数字
实例293查找中位数
实例294二叉树的层次遍历
实例295二叉树的序遍历
实例296二叉树的中序遍历
实例297二叉树的前序遍历
实例298合并排序整数数组
实例299在整数数组中找两数之和等于给定数的数
实例300查找主元素
参考文献
猜您喜欢