图书介绍

JAVA程序员面试算法宝典【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

JAVA程序员面试算法宝典
  • 猿媛之家组编 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111603955
  • 出版时间:2018
  • 标注页数:289页
  • 文件大小:47MB
  • 文件页数:299页
  • 主题词:JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

JAVA程序员面试算法宝典PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

面试、笔试经验技巧篇2

经验技巧1如何巧妙地回答面试官的问题2

经验技巧2如何回答技术性的问题3

经验技巧3如何回答非技术性问题4

经验技巧4如何回答快速估算类问题5

经验技巧5如何回答算法设计问题6

经验技巧6如何回答系统设计题8

经验技巧7如何解决求职中的时间冲突问题11

经验技巧8如果面试问题曾经遇见过,是否要告知面试官12

经验技巧9在被企业拒绝后是否可以再申请12

经验技巧10如何应对自己不会回答的问题13

经验技巧11如何应对面试官的“激将法”语言13

经验技巧12如何处理与面试官持不同观点这个问题14

经验技巧13什么是职场暗语14

面试、笔试真题解析篇19

第1章 链表19

1.1 如何实现链表的逆序20

1.2 如何从无序链表中移除重复项24

1.3 如何计算两个单链表所代表的数之和27

1.4 如何对链表进行重新排序30

1.5 如何找出单链表中的倒数第k个元素33

1.6 如何检测一个较大的单链表是否有环37

1.7 如何把链表相邻元素翻转39

1.8 如何把链表以K个结点为一组进行翻转41

1.9 如何合并两个有序链表44

1.10 如何在只给定单链表中某个结点的指针的情况下删除该结点47

1.11 如何判断两个单链表(无环)是否交叉49

1.12 如何展开链接列表52

第2章 栈、队列与哈希表56

2.1 如何实现栈56

2.2 如何实现队列60

2.3 如何翻转栈的所有元素65

2.4 如何根据入栈序列判断可能的出栈序列69

2.5 如何用O(1)的时间复杂度求栈中最小元素71

2.6 如何用两个栈模拟队列操作73

2.7 如何设计一个排序系统74

2.8 如何实现LRU缓存方案76

2.9 如何从给定的车票中找出旅程78

2.10 如何从数组中找出满足a+b=c+d的两个数对79

第3章 二叉树81

3.1 二叉树基础知识81

3.2 如何把一个有序的整数数组放到二叉树中83

3.3 如何从顶部开始逐层打印二叉树结点数据84

3.4 如何求一棵二叉树的最大子树和87

3.5 如何判断两棵二叉树是否相等89

3.6 如何把二叉树转换为双向链表90

3.7 如何判断一个数组是否是二元查找树后序遍历的序列92

3.8 如何找出排序二叉树上任意两个结点的最近共同父结点93

3.9 如何复制二叉树98

3.10 如何在二叉树中找出与输入整数相等的所有路径100

3.11 如何对二叉树进行镜像反转102

3.12 如何在二叉排序树中找出第一个大于中间值的结点104

3.13 如何在二叉树中找出路径最大的和106

3.14 如何实现反向DNS查找缓存108

第4章 数组112

4.1 如何找出数组中唯一的重复元素112

4.2 如何查找数组中元素的最大值和最小值118

4.3 如何找出旋转数组的最小元素121

4.4 如何找出数组中丢失的数125

4.5 如何找出数组中出现奇数次的数127

4.6 如何找出数组中第k小的数130

4.7 如何求数组中两个元素的最小距离133

4.8 如何求解最小三元组距离136

4.9 如何求数组中绝对值最小的数140

4.10 如何求数组连续最大和143

4.11 如何找出数组中出现一次的数147

4.12 如何对数组旋转150

4.13 如何在不排序的情况下求数组中的中位数151

4.14 如何求集合的所有子集153

4.15 如何对数组进行循环移位156

4.16 如何在有规律的二维数组中进行高效的数据查找158

4.17 如何寻找最多的覆盖点160

4.18 如何判断请求能否在给定的存储条件下完成162

4.19 如何按要求构造新的数组164

4.20 如何获取最好的矩阵链相乘方法165

4.21 如何求解迷宫问题167

4.22 如何从三个有序数组中找出它们的公共元素170

4.23 如何求两个有序集合的交集171

4.24 如何对有大量重复的数字的数组排序175

4.25 如何对任务进行调度179

4.26 如何对磁盘分区181

第5章 字符串183

5.1 如何求一个字符串的所有排列183

5.2 如何求两个字符串的最长公共子串188

5.3 如何对字符串进行反转192

5.4 如何判断两个字符串是否为换位字符串194

5.5 如何判断两个字符串的包含关系196

5.6 如何对由大小写字母组成的字符数组排序198

5.7 如何消除字符串的内嵌括号199

5.8 如何判断字符串是否是整数201

5.9 如何实现字符串的匹配204

5.10 如何求字符串里的最长回文子串208

5.11 如何按照给定的字母序列对字符数组排序214

5.12 如何判断一个字符串是否包含重复字符217

5.13 如何找到由其他单词组成的最长单词218

5.14 如何统计字符串中连续的重复字符个数221

5.15 如何求最长递增子序列的长度222

5.16 求一个串中出现的第一个最长重复子串223

5.17 如何求解字符串中字典序最大的子序列225

5.18 如何判断一个字符串是否由另外一个字符串旋转得到227

5.19 如何求字符串的编辑距离229

5.20 如何在二维数组中寻找最短路线231

5.21 如何截取包含中文的字符串234

5.22 如何求相对路径235

5.23 如何查找到达目标词的最短链长度237

第6章 基本数字运算240

6.1 如何判断一个自然数是否是某个数的二次方240

6.2 如何判断一个数是否为2的n次方242

6.3 如何不使用除法操作符实现两个正整数的除法244

6.4 如何只使用++操作符实现加减乘除运算248

6.5 如何根据已知随机数生成函数计算新的随机数250

6.6 如何判断1024!末尾有多少个0252

6.7 如何按要求比较两个数的大小253

6.8 如何求有序数列的第1500个数的值254

6.9 如何把十进制数(long型)分别以二进制和十六进制形式输出255

6.10 如何求二进制数中1的个数256

6.11 如何找最小的不重复数258

6.12 如何计算一个数的n次方262

6.13 如何在不能使用库函数的条件下计算正数n的算术平方根264

6.14 如何不使用^操作实现异或运算265

6.15 如何不使用循环输出1~100266

第7章 排列组合与概率267

7.1 如何求数字的组合267

7.2 如何拿到最多金币269

7.3 如何求正整数n所有可能的整数组合271

7.4 如何用一个随机函数得到另外一个随机函数273

7.5 如何等概率地从大小为n的数组中选取m个整数274

7.6 如何组合1、 2、 5这三个数使其和为100275

7.7 如何判断还有几盏灯泡还亮着277

第8章 大数据279

8.1 如何从大量的url中找出相同的url279

8.2 如何从大量数据中找出高频词280

8.3 如何找出某一天访问百度网站最多的IP281

8.4 如何在大量的数据中找出不重复的整数281

8.5 如何在大量的数据中判断一个数是否存在282

8.6 如何查询最热门的查询串283

8.7 如何统计不同电话号码的个数284

8.8 如何从5亿个数中找出中位数285

8.9 如何按照query的频度排序286

8.10 如何找出排名前500的数287

热门推荐