JS版剑指offer
介绍
用JavaScript刷完了剑指offer,故总结下每道题的难度、解决关键点,详细题解代码可以点链接进去细看。
关于JS刷题的技巧可以看我之前的这篇:。
剑指offer的题目在牛客网上可以看:https://www.nowcoder.com/ta/coding-interviews
所有题目的代码已经上传到了github上:https://github.com/14glwu/FEInterviewBox/tree/master/%E5%89%91%E6%8C%87offer
目录
题目=》难易程度=》关键词
简单 有顺序、左下角做起始点
简单 正则
简单 栈
中等 画图、递归、注意下标
简单 注意判断条件
简单 二分法
简单 动态规划
简单 动态规划
中等 类似斐波那契、数学分析
简单偏难 类似斐波那契
中等 位运算n=n&n-1
中等 数学分析、位运算
简单 两个变量作为奇数和偶数的下标
简单 双指针法
简单 三个指针
简单 递归
简单偏难 注意判断条件、递归
简单 递归
中等偏难 注意判断条件、递归 || 模拟魔方法
中等 辅助栈
中等 辅助栈
简单 广度遍历、队列
中等 画图
中等 深度遍历、递归
(25)复杂链表的复制 难 map保存
中等偏难 递归、中序遍历
难 回溯法 || 递归全排列法
中等 partion法 || times变量变化法
中等 partion法
中等 找规律、动态规划、注意判断条件
中等 位运算 || 数学分析
简单偏难 改变排序规则
难 动态规划、注意判断条件
哈希表记录
难+ 基于归并排序、临时数组
简单 双指针法
简单偏难 二分法改造
简单 递归
简单 递归
简单 indexOf || map记录 || 异或
中等 数学分析
简单 双指针
简单 裁剪拼接
简单 转数组,对每项反序
中等 注意题目条件、位运算判断数字重复
难 数学分析得出公式 || 画图按题目做、注意下标
中等 位运算、递归
中等 位运算
中等 位运算
中等 将值放到对应位置上
中等偏上 借助中间变量存储后面的乘积
难 注意判断条件、递归
中等 正则
中等 map记录 || indexOf法
中等 双指针法、数学分析
中等 加头节点、注意多个重复
中等 画图、分析各种情况
中等 递归、对称遍历
难 广度遍历、两个栈
中等偏难 队列+两个记录变量
中等 数组代表流、递归
中等 中序遍历+计数变量
中等 partion法 || 维持排序 || 排序链表法 || AVL树 || 最大堆和最小堆
难 改变参考对象、双端队列、存下标
中等 回溯法
中等 回溯法