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。