ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

IntelliJ IDEA 刷题利器 LeetCode 插件

IntelliJ IDEA 刷题利器 LeetCode 插件 IntelliJ IDEA 刷题利器 LeetCode 插件IDEA整合LeetCode插件可以在 IDEA 本地编辑代码并且运行提交还能关联自己的账号非常实用。下载安装安装好后所在的位置配置点击File-Settings-Tools-leetcode plugin如图参数说明Custom code template: 开启使用自定义模板否则使用默认生成格式CodeFileName: 生成文件的名称默认为题目标题CodeTemplate: 生成题目代码的内容默认为题目描述和题目代码TemplateConstant 模板常用变量${question.title}题目标题例如:两数之和${question.titleSlug}题目标记例如:two-sum${question.frontendQuestionId}题目编号例如:1${question.content}题目描述内容${question.code}题目代码部分$!velocityTool.camelCaseName(str)一个函数用来将字符串转化为驼峰样式配置一CodeFileName这个里面填的就是以后自动生成类的类名${question.title}CodeTemplate就是自动生成的代码格式对于有强迫症的人来说这个自动生成的格式就非常重要了不然看着心里就烦。packageleetcode.editor.cn;${question.content}publicclass${question.title}{publicstaticvoidmain(String[]args){Solutionsolutionnew${question.title}().newSolution();}${question.code}}样式类名以题目标题为类名(中文主要是更直观方便查找)要是类名是中文觉得别扭可以换一种配置。配置二CodeFileName这个里面填的就是以后自动生成类的类名$!velocityTool.camelCaseName(${question.titleSlug})CodeTemplate就是自动生成的代码格式不喜欢配置一的可以使用这种。packageleetcode.editor.cn;${question.content}publicclass$!velocityTool.camelCaseName(${question.titleSlug}){publicstaticvoidmain(String[]args){Solutionsolutionnew$!velocityTool.camelCaseName(${question.titleSlug})().newSolution();}${question.code}}配置三主要是优化配置一原因是题目标题中出现空格而单独对文件重命名会出现不能提交LeetCode 的问题具体配置如下:CodeFileName这个里面填的就是以后自动生成类的类名$!velocityTool.replace(${question.title}, ,)packageleetcode.editor.cn;${question.content}publicclass$!velocityTool.replace(${question.title}, ,){publicstaticvoidmain(String[]args){Solutionsolutionnew$!velocityTool.replace(${question.title}, ,)().newSolution();}${question.code}}在配置二基础上更改配置如图配置四我想要LeetCode_1_两数之和这种命名方式类名有中文一目了然类名有问题序号能按照序号排列因为 java 类命名规范问题所以使用特定的字符开头LeetCode_$!{question.frontendQuestionId}_${question.title}packageleetcode.editor.cn;${question.content}publicclass$!velocityTool.replace($!velocityTool.join(LeetCode_,$!{question.frontendQuestionId},_,${question.title}), ,){publicstaticvoidmain(String[]args){Solutionsolutionnew$!velocityTool.replace($!velocityTool.join(LeetCode_,$!{question.frontendQuestionId},_,${question.title}), ,)().newSolution();}${question.code}}velocityTool.join(LeetCode_,$!{question.frontendQuestionId},_,${question.title})就是简单的字符拼接 拼接之后的效果等同于LeetCode_$!{question.frontendQuestionId}_${question.title}扩展velocityTool 继承 StringUtils 类非常重要在生成的自定义代码中包含两行关键信息://leetcode submit region begin(Prohibit modification and deletion):提交到leetcode进行验证的代码开始标记//leetcode submit region end(Prohibit modification and deletion):提交到leetcode进行验证的代码结束标记这两行标记标示了提交到leetcode服务器进行验证的代码范围,在此范围内只允许有出现与题目解答相关的内容出现其他内容可能导致leetcode验证不通过。除了此范围内其他区域是可以任意填写的内容不会提交到leetcode可以增加一些可以本地调试的内容例如:import java.util.Arrays;所以这两行内容是不能被删除和修改的否则将识别不到提交的内容。补充个别被注释的类需要自己手动删除注释。使用项目右键
返回列表