Language: English
-
Java版剑指OFFER
- 01-20题
-
Scala 版本剑指Offer
- 01-20题
2019-03-14
完成 - 20-24题
2019-03-16
完成 - 47-51题
2019-03-18
完成 - 25-28题
2019-03-20
完成 - 29-32题
2019-03-21
完成 - 33-36题
2019-03-24
完成 - 37-40题
2019-03-26
完成 - 41-43题
2019-04-25
完成 - 44-46题
2019-04-26
完成 - 52-54题
2019-04-29
完成 - 55-57题
2019-05-07
完成 - 58-62题
2019-05-16
完成 - 58-62题
2019-05-16
完成 - 63-66题
2019-06-26
完成 - 04-18-36 测试用例失败
- 01-20题
- 数据类型均采用
scala
原生组件, 避免使用java
类型 - 每题均包含简易的
ScalaTest
单元测试模块 - 项目基于
SBT
构建
Scala 题目 - 牛客网题目
序号 | 考点 | 题目 | Scala解答 | 热度指数 | 通过率 |
---|---|---|---|---|---|
1 | 数组 | 二维数组中的查找 | P01 | 124824 | 23.43% |
2 | 字符串 | 替换空格 | P02 | 115499 | 24.18% |
3 | 链表 | 从尾到头打印链表 | P03 | 100006 | 23.99% |
4 | 树 | 重建二叉树 | P04 | 69753 | 22.46% |
5 | 栈和队列 | 用两个栈实现队列 | P05 | 78857 | 35.71% |
6 | 查找和排序 | 旋转数组的最小数字 | P06 | 74676 | 31.58% |
7 | 递归和循环 | 斐波那契数列 | P07 | 83075 | 28.82% |
8 | 递归和循环 | 跳台阶 | P08 | 82824 | 34.02% |
9 | 递归和循环 | 变态跳台阶 | P09 | 75011 | 39.87% |
10 | 递归和循环 | 矩形覆盖 | P10 | 66827 | 34.45% |
11 | 位运算 | 二进制中1的个数 | P11 | 71491 | 34.08% |
12 | 代码的完整性 | 数值的整数次方 | P12 | 65547 | 31.02% |
13 | 代码的完整性 | 调整数组顺序使奇数位于偶数前面 | P13 | 65957 | 25.44% |
14 | 代码的鲁棒性 | 链表中倒数第k个结点 | P14 | 67590 | 20.41% |
15 | 代码的鲁棒性 | 反转链表 | P15 | 65926 | 28.53% |
16 | 代码的鲁棒性 | 合并两个排序的链表 | P16 | 60985 | 26.81% |
17 | 代码的鲁棒性 | 树的子结构 | P17 | 52396 | 22.83% |
18 | 面试思路 | 二叉树的镜像 | P18 | 57536 | 42.40% |
19 | 画图让抽象形象化 | 顺时针打印矩阵 | P19 | 47139 | 17.32% |
20 | 举例让抽象具体化 | 包含min函数的栈 | P20 | 48473 | 30.95% |
21 | 举例让抽象具体化 | 栈的压入、弹出序列 | P21 | 48985 | 28.47% |
22 | 举例让抽象具体化 | 从上往下打印二叉树 | P22 | 50332 | 26.34% |
23 | 举例让抽象具体化 | 二叉搜索树的后序遍历序列 | P23 | 43917 | 23.39% |
24 | 举例让抽象具体化 | 二叉树中和为某一值的路径 | P24 | 40975 | 25.86% |
25 | 分解让复杂问题简单 | 复杂链表的复制 | P25 | 34691 | 20.55% |
26 | 分解让复杂问题简单 | 二叉搜索树与双向链表 | P26 | 32456 | 27.42% |
27 | 分解让复杂问题简单 | 字符串的排列 | P27 | 36077 | 19.68% |
28 | 时间效率 | 数组中出现次数超过一半的数字 | P28 | 43944 | 26.71% |
29 | 时间效率 | 最小的K个数 | P29 | 43277 | 21.09% |
30 | 时间效率 | 连续子数组的最大和 | P30 | 41645 | 35.02% |
31 | 时间效率 | 整数中1出现的次数(从1到n整数中1出现的次数) | P31 | 33209 | 32.49% |
32 | 时间效率 | 把数组排成最小的数 | P32 | 33854 | 26.36% |
33 | 时间空间效率的平衡 | 丑数 | P33 | 34243 | 21.25% |
34 | 时间空间效率的平衡 | 第一个只出现一次的字符位置 | P34 | 36998 | 25.55% |
35 | 时间空间效率的平衡 | 数组中的逆序对 | P35 | 28266 | 14.94% |
36 | 时间空间效率的平衡 | 两个链表的第一个公共结点 | P36 | 35086 | 32.12% |
37 | 知识迁移能力 | 数字在排序数组中出现的次数 | P37 | 34721 | 29.33% |
38 | 知识迁移能力 | 二叉树的深度 | P38 | 39971 | 46.65% |
39 | 知识迁移能力 | 平衡二叉树 | P39 | 32862 | 33.69% |
40 | 知识迁移能力 | 数组中只出现一次的数字 | P40 | 34470 | 28.69% |
41 | 知识迁移能力 | 和为S的连续正数序列 | P41 | 30379 | 26.19% |
42 | 知识迁移能力 | 和为S的两个数字 | P42 | 33674 | 28.50% |
43 | 知识迁移能力 | 左旋转字符串 | P43 | 33135 | 30.41% |
44 | 知识迁移能力 | 翻转单词顺序列 | P44 | 32607 | 18.87% |
45 | 抽象建模能力 | 扑克牌顺子 | P45 | 26154 | 24.90% |
46 | 抽象建模能力 | 孩子们的游戏(圆圈中最后剩下的数) | P46 | 26136 | 29.42% |
47 | 发散思维能力 | 求1+2+3+...+n | P47 | 36241 | 37.01% |
48 | 发散思维能力 | 不用加减乘除做加法 | P48 | 30554 | 44.63% |
49 | 综合 | 把字符串转换成整数 | P49 | 28119 | 26.13% |
50 | 数组 | 数组中重复的数字 | P50 | 33971 | 28.14% |
51 | 数组 | 构建乘积数组 | P51 | 25983 | 38.10% |
52 | 字符串 | 正则表达式匹配 | P52 | 19901 | 19.45% |
53 | 字符串 | 表示数值的字符串 | P53 | 20457 | 26.28% |
54 | 字符串 | 字符流中第一个不重复的字符 | P54 | 22420 | 30.66% |
55 | 链表 | 链表中环的入口结点 | P55 | 28349 | 30.52% |
56 | 链表 | 删除链表中重复的结点 | P56 | 30149 | 19.18% |
57 | 树 | 二叉树的下一个结点 | P57 | 25889 | 29.02% |
58 | 树 | 对称的二叉树 | P58 | 27202 | 30.09% |
59 | 树 | 按之字形顺序打印二叉树 | P59 | 22524 | 23.33% |
60 | 树 | 把二叉树打印成多行 | P60 | 24337 | 29.65% |
61 | 树 | 序列化二叉树 | P61 | 18437 | 21.31% |
62 | 树 | 二叉搜索树的第k个结点 | P62 | 23543 | 23.66% |
63 | 树 | 数据流中的中位数 | P63 | 18296 | 25.77% |
64 | 栈和队列 | 滑动窗口的最大值 | P64 | 21863 | 23.59% |
65 | 回溯法 | 矩阵中的路径 | P65 | 19132 | 22.03% |
66 | 回溯法 | 机器人的运动范围 | P66 | 19925 | 22.45% |
欢迎你贡献出你的一份力量,你可以随时提交 issue 或 fork 本仓库。静候你的 pull request。