常用 JS 和 Java 刷题。 JS 在 LeetCode 使用比较顺畅,可完善 ACM 模式 OJ 的编码体验;而 Java 需要编写的代码较多,使用 IDEA 编辑器搭配实时模板可提示效率。对应配置已放到 Github,可下载复用。
JS 环境配置
LeetCode 中使用 js 比较顺畅,但一些 ACM 模式的 OJ 写起来就没有那么方便。可借助 VSCode 来优化答题体验,提供了输入流、读取行、优先队列等 snippets,方便使用。
https://github.com/heibaimeng/algo-playground-js
已做设置:
- 通过
jsconfig.json
配置,代码提排除浏览器 API,避免智能提示过多产生干扰 - 项目 eslint 自动修复,无需关注代码格式
- 项目级 snippets 配置,安装即可使用,不需进行编辑器设置
- 提供与 leetcode PriorityQueue 一致 API 的实现,可直接代码引入
预置了一些 snippets ,以 a 开头,方便调用:
- abuf 输入流基础框架模板
- areadline 读取一行并拆分
- aarr 创建指定长度的数组
- aswap 交换数组元素
- aPriorityQueue 定义优先队列类,与 leetcode 的 API 一致
- 可依据需要自行增加 snippets
Java 环境配置
在 IDEA 编辑器搭建 Java 算法题编码环境,提供 LeetCode 和 ACM 模式的类文件与 IDEA 实时模板配置。
https://github.com/heibaimeng/algo-playground-java
文件选择:
- LeetCode 使用 Solution 类
- 用法:把题目代码复制覆盖
import java.util.*;
下方内容,编写代码
- 用法:把题目代码复制覆盖
- AcWing 和牛客等 acm 模式的平台,使用 Main 类
- 用法:把代码重置,直接编写代码
编辑器按需配置实时模板。因 IDEA 实时模板不支持配置到项目目录中,且内容不多,记录在 README.md 文件里。
选中对应代码,菜单 菜单 Code -> Save as Live Template ,设置对应的适用于类型。