分享一个优雅的leetcode力扣刷题姿势|intellij+leetcode |
您所在的位置:网站首页 › 怎么自制刷题软件 › 分享一个优雅的leetcode力扣刷题姿势|intellij+leetcode |
引言
虽然Leetcode自带的代码编辑器简洁,但无法进行Debug和享受Intelli编码方式。另一方面,各种ide中虽然有Intelli代码补全、集成化编译调试等功能,但却需要频繁复制粘贴。本文将为热衷刷题的读者提供一种优雅舒适的刷题方式——使用Intelli进行编码、本地调试、一键提交LeetCode、一键上传保管。 在本地IDE上编码LeetCode题目LeetCode支持多种编程语言,如C/C++、Java、Python、C#、Javascript等。由于本文作者偏好使用Java语言编程,因此以Intelli IDEA(以下简称IDEA)为例。其他语言的IDE,如Pycharm、Clion甚至VSCode等,只要有插件功能都可以进行类似操作。 配置 打开idea的插件市场,搜索"leetcode-editor"下载安装,作者是shuzijun~/leetcode_codeworks 勾选上创建Git仓库(不希望远程保管代码请忽略)。 构建工具方面,对于算法学习项目来说,简单明了的IntelliJ即可。 点击创建。 ![]()
点击下图登录按钮 请用浏览器打开Leetcode网站进行登陆,登陆成功之后请打开浏览器的开发者工具。 点击网络,然后刷新网页,选择列表中第一个leetcode.cn。 可以看到它有很详细的使用说明 以下是随便打开一道题目的界面,左边仍然是题目列表,中间是题目描述,右边是我们的编码窗口,其中已经给出了题目描述和Solution类以及其成员方法。
为了让插件能生成出我们能直接运行的文件的样子,我们需要自定义生成模板。请打开插件设置页面。需要设置的是Code FileName以及Code Template栏。 Code Template: package leetcode.editor.cn; import java.util.*; public class ID${question.frontendQuestionId}$!velocityTool.camelCaseName(${question.titleSlug}){ public static void main(String[] args) { Solution solution = new ID${question.frontendQuestionId}$!velocityTool.camelCaseName(${question.titleSlug})().new Solution(); StringBuilder sb = new StringBuilder(); //执行测试 System.out.println(sb); } ${question.code} }保存后,再打开双击一道题,我们发现这已经是可以调试的样子了,可以打断点,也有intelli的自动补全等等功能。 我们发现在做关于数据结构的算法题的时候,代码中难免会有类似ListNode这种自定义数据结构出现,导致代码爆红,虽然仍可以提交运行,但是再也无法在本地自行调试了。 最后再将插件的生成模板修改一下,加入一句import语句即可 修改之后的模板: package leetcode.editor.cn; import java.util.*; import leetcode.editor.util.*; public class ID${question.frontendQuestionId}$!velocityTool.camelCaseName(${question.titleSlug}){ public static void main(String[] args) { Solution solution = new ID${question.frontendQuestionId}$!velocityTool.camelCaseName(${question.titleSlug})().new Solution(); StringBuilder sb = new StringBuilder(); //执行测试 System.out.println(sb); } ${question.code} }这样操作之后,每次打开一道新题目,就再也不用担心因为ListNode这种自定义数据结构类爆红了。 远程仓库保管这一段,将为大家手把手奉上用git提交推送这些代码的步骤。 配置git略 (评论区有说需要再更新吧) 本地调试技巧这一段,将为大家手把手奉上在这个编码环境下,快捷制作测试用例以及调试的技巧。 几种设置测试用例的方法略 (评论区有说需要再更新吧) 小结希望对读者朋友有所帮助,也希望如果有大佬有什么意见和建议欢迎提出,共同探讨! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |