欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

如何在2022版本的IDEA中安装并使用LeetCode插件来刷Java面试题?

最编程 2024-08-04 20:35:57
...

1. 版本环境

本人使用的是IDEA 2022专业版,如图
在这里插入图片描述
插件是labuladong大佬修改后的LeetCode插件,特点是可以看见他发出的独特解题思路!

2. 安装

2.1 创建项目

  • 打开IDEA并创建空项目,如图
    在这里插入图片描述

2.2 安装插件

  • 右键项目打开设置settings,如图
    在这里插入图片描述
  • 在设置中选择插件Plugins并在市场Marketplace中搜索Leet,可看到插件,点击install安装并重启idea,本人已安装便不再安装!
    在这里插入图片描述

3. 配置插件

3.1 打开插件

重启项目后可在项目右下角看到插件出现,如图在这里插入图片描述

3.2 配置环境

  • 打开插件后找到设置,如图在这里插入图片描述
  • 设置相关信息,如URL网址leetcode.cn或者leetcode.com等信息,如图
    在这里插入图片描述
    其中:
    • URL:力扣网址
    • CodeType:刷题用的语言,本人这里是java
    • LoginName以及Password是登录力扣的账号密码
    • TempFilePath: 是刷题代码存在的项目位置,选择刚创建项目或想要存放位置
  • 设置插件代码模板,如图
    在这里插入图片描述
    其中:
    • Code FileName:生成代码文件名,$!velocityTool.camelCaseName(${question.titleSlug})
    • Code Template:本地测试代码,如下
    ${question.content}
    package LeetCode.editor.cn;
    //Java:${question.title}
    public class $!velocityTool.camelCaseName(${question.titleSlug}){
    	public static void main(String[] args) {
    	Codec codec = new $!velocityTool.camelCaseName(${question.titleSlug})().new Codec();
    	// TO TEST
    }
    ${question.code}
    }
    
    • TemplateConstant:模板所用变量介绍
  • 设置好后点击apply应用即可,然后可在项目视图中看到生成文件夹,如图在这里插入图片描述

4.使用

4.1 获取力扣题目

  • 登录插件,打开插件后点击登录按钮,如图在这里插入图片描述
    其中按钮左到右依次为:
    • 登录:登录到力扣网
    • 退出或注销:退出登录的账号
    • 刷新问题:即获取题目
    • 挑选一个:任意随机选中一个题目
    • 搜索:可按照分类category,列表Lists,难度Difficulty,状态Status以及标签Tags进行条件查询,和网站版类似
    • 进度查看:可查看目前刷题进度
    • 设置
    • 清除缓存
    • 使用帮助
    • 手动刷新数据
  • 刷新题目,点击左起第三个图标即可,然后会出现题目,如图
    在这里插入图片描述
  • 拉取到本地,选择某一题目后双击题目即可将拉取,本人选择得是297二叉树序列化与反序列化,读者可自行选择,操作类似,如下图在这里插入图片描述
  • 设置SDK环境,并将src设置为根目录,设置后解决文件投标橙色J变为正常C,如图
    在这里插入图片描述
    在这里插入图片描述

4.2 编写代码

  • 编写相关数据结构,这里需要用到TreeNode,如图在这里插入图片描述
  • 编写核心代码,在所示区域,和网站刷题区域一样,如图在这里插入图片描述
    这里已写好,不在展示!
  • 编写本地测试工具,需要用到将控制台输入数据转换为编码所需数据,这里仅仅将输入的root=[1,2,3,null,null,4,5]进行转换,如下:
public class TestInput {
    public Logger log = Logger.getLogger(TestInput.class.getName());
    /**
    *用于将控制台输入数据转换为测试代码输入参数
    **/
    public TreeNode getTreeNodeInputExamples(){
        Scanner scanner = new Scanner(System.in);
        log.info("输入测试用例,用,号隔开!");
        String line = scanner.nextLine();
        String[] lines = line.split(",");
        LinkedList<String>  nodes = new LinkedList();
        for (String s : lines) {
            nodes.addLast(s);
        }
        return getTreeNode(nodes);
    }
    private TreeNode getTreeNode(LinkedList<String> nodes){
        if(nodes.isEmpty()) return null;
        String node = nodes.removeFirst();
        if("null".equals(node))
        {
            return null;
        }
        TreeNode root = new TreeNode(Integer.parseInt(node));
        root.left = getTreeNode(nodes);
        root.right = getTreeNode(nodes);
        return root;
    }
  • 测试本地代码,在main函数中进行测试编写代码,如下
 public static void main(String[] args) {
        Codec codec = new SerializeAndDeserializeBinaryTree().new Codec();
        TestInput testInput = new TestInput();
        TreeNode root = testInput.getTreeNodeInputExamples();
        String serialize = codec.serialize(root);
        System.out.println(serialize);
        codec.deserialize(serialize);
        // TO TEST
}
  • 接着可进行测试,断点调试或断言均可,结果如图在这里插入图片描述

4.3 提交

  • 本地测试没问题了可进行提交,右键选择插件菜单中的submit即可,如图
    在这里插入图片描述
    其中:
    • Run Code:类似于网站中的提交
    • Test Case:执行所给测试用例
    • Submit:将本地代码提交到网站并进行最终验证
    • Sumissions:选择某一个时间段提交的代码进行查看
    • open content:查看题目要求
  • 提交后可选择最终提交,点击Run Code即可,当通过时会有提示,如图
    在这里插入图片描述
    在这里插入图片描述
    特别注意:
    要是提交后发现编译出错则需要重新拉取题目到本地并重新编写,不然代码无法提交导致编译出错!