更新时间:2019-09-16 15:13:51
封面
版权信息
前言
面试、笔试经验技巧篇
经验技巧1 如何巧妙地回答面试官的问题
经验技巧2 如何回答技术性的问题
经验技巧3 如何回答非技术性问题
经验技巧4 如何回答快速估算类问题
经验技巧5 如何回答算法设计问题
经验技巧6 如何回答系统设计题
经验技巧7 如何解决求职中的时间冲突问题
经验技巧8 如果面试问题曾经遇见过,是否要告知面试官
经验技巧9 被企业拒绝后是否可以再申请
经验技巧10 如何应对自己不会回答的问题
经验技巧11 如何应对面试官的“激将法”
经验技巧12 如何处理与面试官持不同观点的问题
经验技巧13 什么是职场暗语
面试、笔试真题解析篇
第1章 经典算法题
1.1 有多少苹果用来分赃
1.2 哪只猴子可以当大王
1.3 移动多少盘子才能完成汉诺塔游戏
1.4 如何利用约瑟夫环来保护你与你的朋友
1.5 怎样才能得到阿姆斯壮数
1.6 如何获取规定的排列组合
1.7 如何实现洗牌算法
1.8 怎样求解斐波那契数列
1.9 如何实现杨辉三角
1.10 牛的数量有多少
1.11 百钱买百鸡
1.12 经过这个路口多少次
1.13 球的反弹高度有多高
1.14 如何找出1000以内的“完数”
1.15 猴子吃了多少桃子
1.16 如何移动最少次数的三色旗
第2章 智力题
2.1 逻辑计算
2.2 逻辑推理
2.3 概率与组合
2.4 数学计算
第3章 排序算法
3.1 如何实现冒泡排序
3.2 如何实现插入排序
3.3 如何实现归并排序
3.4 如何实现快速排序
3.5 如何实现选择排序
3.6 如何细实现希尔排序
3.7 如何实现堆排序
3.8 如何实现计数排序
3.9 如何实现桶排序
第4章 链表
4.1 如何实现链表的逆序
4.2 如何从无序链表中移除重复项
4.3 如何计算两个单链表所代表的数之和
4.4 如何对链表进行重新排序
4.5 如何找出单链表中的倒数第k个元素
4.6 如何检测一个较大的单链表是否有环
4.7 如何把链表相邻元素翻转
4.8 如何把链表以K个结点为一组进行翻转
4.9 如何合并两个有序链表
第5章 栈与队列
5.1 如何实现栈
5.2 如何实现队列
5.3 如何翻转栈的所有元素
5.4 如何根据入栈序列判断可能的出栈序列
5.5 如何用O(1)的时间复杂度求栈中最小元素
5.6 如何用两个栈模拟队列操作
第6章 二叉树
6.1 二叉树基础知识
6.2 如何实现二叉树
6.3 如何用树结构实现多层级分类
6.4 如何找到二叉树中的最大最小值
6.5 如何对二叉树进行遍历
6.6 如何判断一棵二叉树是否是完全二叉树
第7章 数组
7.1 如何找出数组中唯一的重复元素
7.2 如何查找数组中元素的最大值和最小值
7.3 如何找出旋转数组的最小元素
7.4 如何找出数组中丢失的数
7.5 如何找出数组中出现奇数次的数
7.6 如何找出数组中第k小的数
7.7 如何求数组中两个元素的最小距离
7.8 如何求解最小三元组距离
7.9 如何求数组连续最大和
7.10 如何求数组中绝对值最小的数
7.11 如何找出数组中出现一次的数
7.12 如何在不排序的情况下求数组中的中位数
7.13 如何求集合的所有子集
7.14 如何对数组进行循环移位
7.15 如何在有规律的二维数组中进行高效的数据查找
7.16 如何寻找最多的覆盖点
7.17 如何判断请求能否在给定的存储条件下完成
7.18 如何按要求构造新的数组
7.19 如何获取最好的矩阵链相乘方法
7.20 如何求解迷宫问题
7.21 如何从三个有序数组中找出它们的公共元素
第8章 基本数字运算
8.1 如何判断一个自然数是否是某个数的二次方
8.2 如何判断一个数是否为2的n次方
8.3 如何不使用除法操作符实现两个正整数的除法