Scala程序员面试算法宝典

本书特色

[

《Scala程序员面试算法宝典》是一本讲解Scala程序员面试算法的书籍,在写法上,除了讲解如何解答算法问题外,还引入了实例辅以说明,让读者能够更好地理解本书内容。
《Scala程序员面试算法宝典》将Scala程序员面试、笔试过程中各类算法类真题一网打尽。在题目的广度上,本书收集了近三年来几乎所有IT企业面试、笔试算法高频题目,所选择题目均为企业招聘使用题目。在题目的深度上,本书由浅入深,细致地分析每一个题目,并提炼归纳。同时,引入实例与源代码、时间复杂度与空间复杂度的分析,而这些内容是其他同类书籍所少有的。此外,本书根据真题所属知识点进行分门别类,力图做到结构合理、条理清晰,对于读者进行学习与检索意义重大。
《Scala程序员面试算法宝典》是一本计算机相关专业毕业生面试、笔试的求职用书,也可以作为本科生、研究生学习数据结构与算法的辅导书,同时也适合期望在计算机软、硬件行业大显身手的计算机爱好者阅读。

]

内容简介

[

《Scala程序员面试算法宝典》是一本讲解Scala程序员面试算法的书籍,在写法上,除了讲解如何解答算法问题外,还引入了实例辅以说明,让读者能够更好地理解本书内容。《Scala程序员面试算法宝典》将Scala程序员面试、笔试过程中各类算法类真题一网打尽。在题目的广度上,本书收集了近三年来几乎所有IT企业面试、笔试算法高频题目,所选择题目均为企业招聘使用题目。在题目的深度上,本书由浅入深,细致地分析每一个题目,并提炼归纳。同时,引入实例与源代码、时间复杂度与空间复杂度的分析,而这些内容是其他同类书籍所少有的。此外,本书根据真题所属知识点进行分门别类,力图做到结构合理、条理清晰,对于读者进行学习与检索意义重大。《Scala程序员面试算法宝典》是一本计算机相关专业毕业生面试、笔试的求职用书,也可以作为本科生、研究生学习数据结构与算法的辅导书,同时也适合期望在计算机软、硬件行业大显身手的计算机爱好者阅读。

]

目录

前言 面试、笔试经验技巧篇经验技巧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面试、笔试真题解析篇第1章 链表191.1 如何实现链表的逆序201.2 如何从无序链表中移除重复项241.3 如何计算两个单链表所代表的数之和271.4 如何对链表进行重新排序301.5 如何找出单链表中的倒数第k个元素321.6 如何检测一个较大的单链表是否有环361.7 如何把链表相邻元素反转381.8 如何把链表以k个结点为一组进行反转401.9 如何合并两个有序链表431.10 如何在只给定单链表中某个结点的指针的情况下删除该结点(不包括尾结点)451.11 如何判断两个单链表(无环)是否交叉471.12 如何展开链接列表50第2章 栈与队列532.1 如何实现栈532.2 如何实现队列572.3 如何反转栈的所有元素602.4 如何根据入栈序列判断可能的出栈序列642.5 如何用O(1)的时间复杂度求栈中*小元素652.6 如何用两个栈模拟队列操作672.7 如何设计一个排队系统682.8 如何实现LRU缓存方案702.9 如何从给定的车票中找出旅程712.10 如何从数组中找出满足a b=c d的两个数对73第3章 二叉树753.1 二叉树基础知识753.2 如何把一个有序的整数数组放到二叉树中773.3 如何从顶部开始逐层打印二叉树结点数据783.4 如何求一棵二叉树的*大子树和803.5 如何判断两棵二叉树是否相等823.6 如何把二叉树转换为双向链表83 3.7 如何判断一个数组是否是二元查找树后序遍历的序列853.8 如何找出排序二叉树上任意两个结点的*近共同父结点873.9 如何复制二叉树923.10 如何在二叉树中找出与输入整数相等的所有路径933.11 如何对二叉树进行镜像反转953.12 如何在二叉排序树中找出**个大于且数值*接近中间值的结点963.13 如何在二叉树中找出路径*大的和983.14 如何实现反向DNS查找域名99第4章 数组1024.1 如何找出数组中唯一的重复元素1024.2 如何查找数组中元素的*大值和*小值1074.3 如何找出旋转数组的*小元素1104.4 如何找出数组中丢失的数1134.5 如何找出数组中出现奇数次的数1154.6 如何找出数组中第k小的数1174.7 如何求数组中两个元素的*小距离1204.8 如何求解*小三元组距离1224.9 如何求数组中绝对值*小的数1264.10 如何求数组连续*大和1294.11 如何找出数组中出现一次的数1324.12 如何旋转数组1344.13 如何在不排序的情况下求数组中的中位数1354.14 如何求集合的所有子集1374.15 如何对数组进行循环移位1404.16 如何在有规律的二维数组中进行高效的数据查找1424.17 如何寻找*多的覆盖点1444.18 如何判断请求能否在给定的存储条件下完成1454.19 如何按要求构造新的数组1474.20 如何获取*好的矩阵链相乘方法1484.21 如何求解迷宫问题1504.22 如何从三个有序数组中找出它们的公共元素1524.23 如何求两个有序集合的交集1534.24 如何对有大量重复的数字的数组排序1564.25 如何对任务进行调度1594.26 如何对磁盘分区160第5章 字符串1625.1 如何求一个字符串的所有排列1625.2 如何求两个字符串的*长公共子串1665.3 如何对字符串进行反转1695.4 如何判断两个字符串是否为换位字符串1715.5 如何判断两个字符串是否具有包含关系1735.6 如何对由大小写字母组成的字符数组排序1755.7 如何消除字符串的内嵌括号1765.8 如何判断字符串是否是整数1775.9 如何实现字符串的匹配1805.10 如何求字符串里的*长回文子串1835.11 如何按照给定的字母序列对字符数组排序1895.12 如何判断一个字符串是否包含重复字符1915.13 如何找到由其他单词组成的*长单词1935.14 如何统计字符串中连续重复字符个数1955.15 如何求*长递增子序列的长度1965.16 如何求一个串中出现的**个*长重复子串1975.17 如何求解字符串中字典序*大的子序列1995.18 如何判断一个字符串是否由另外一个字符串旋转得到2025.19 如何求字符串的编辑距离2035.20 如何在二维数组中寻找*短路线2055.21 如何截取包含中文的字符串2075.22 如何求相对路径2095.23 如何查找到达目标词的*短链长度210第6章 基本数字运算2136.1 如何判断一个自然数是否是某个数的二次方2136.2 如何判断一个数是否为2的n次方2156.3 如何不使用除法操作符实现两个正整数的除法2166.4 如何只使用 操作符实现加减乘除运算2206.5 如何根据已知随机数生成函数计算新的随机数2226.6 如何判断1024!末尾有多少个02246.7 如何按要求比较两个数的大小2256.8 如何求有序数列的第1500个数的值2266.9 如何把十进制数(long型)分别以二进制和十六进制形式输出2276.10 如何求二进制数中1的个数2286.11 如何找*小的不重复数2306.12 如何计算一个数的n次方2336.13 如何在不能使用库函数的条件下计算正数n的算术平方根2356.14 如何不使用^操作实现异或运算2356.15 如何不使用循环输出1~100237第7章 排列组合与概率2387.1 如何求数字的组合2387.2 如何拿到*多金币2407.3 如何求正整数n所有可能的整数组合2417.4 如何用一个随机函数得到另外一个随机函数2437.5 如何等概率地从大小为n的数组中选取m个整数2447.6 如何计算1、2、5这三个数使其和为100的组合个数2457.7 如何判断还有几盏灯泡亮着246第8章  大数据2498.1 如何从大量的url中找出相同的url2498.2 如何从大量数据中找出高频词2508.3 如何找出某一天访问百度网站*多的IP2518.4 如何在大量的数据中找出不重复的整数2518.5 如何在大量的数据中判断一个数是否存在2528.6 如何查询*热门的查询串2538.7 如何统计不同电话号码的个数2548.8 如何从5亿个数中找出中位数2558.9 如何按照query的频度排序2568.10 如何找出排名前500的数257

封面

Scala程序员面试算法宝典

书名:Scala程序员面试算法宝典

作者:猿媛之家 楚秦 蒋威利 等

页数:257

定价:¥79.0

出版社:机械工业出版社

出版日期:2020-05-01

ISBN:9787111650294

PDF电子书大小:157MB 高清扫描完整版



本文标题:《Scala程序员面试算法宝典》PDF下载

资源仅供学习参考,禁止用于商业用途,请在下载后24小时内删除!