leetcode同样的代码 网上结果和本地结果不一样_如何在 VS Code 中调试 LeetCode 代码...

dad4a652d623ca1d1a6113146ea52862.png

近期收到不少小伙伴的求助,希望知道如何在 VS Code 中调试 LeetCode 代码。通常来说,为了调试本地代码,我们需要安装相关的语言支持插件。本文中,我们就以调试 LeetCode Java 代码为例,给大家介绍本地调试 LeetCode 代码的常用套路。

想要了解如何在 VS Code 中刷题的小伙伴,可以移步:LeetCode for VS Code: 春招 Offer 收割利器。

准备工作

首先确保系统内安装了JDK,相关教程有很多,此处就不赘述了。

之后我们需要确保在 VS Code 中安装了下列插件:

  1. LeetCode,用来生成题目,提交答案。
LeetCode - Visual Studio Marketplace​marketplace.visualstudio.com
36c3406095b23eaad14cbfe75ad7ea2a.png

2. Language Support for Java(TM) by Red Hat,提供智能提示等语言相关的功能。

Language Support for Java(TM) by Red Hat​marketplace.visualstudio.com
babef931ef1ec7b3d76cedd1d74963e4.png

3. Debugger for Java,Java 调试器。

Debugger for Java​marketplace.visualstudio.com
e45fdb46e30f1e50718a18593ec20ff7.png

安装完成之后,VS Code 的插件管理栏中,就可以看到这三个插件了:

81da98f5b1e7ac3240eeb0451836a3ba.png
如果在打开 Java 文件后,VS Code 提示找不到 JDK,请检查一下相关配置是否正确。

编写调试代码:

我们就拿第 20 题:有效的括号作为例子。

在作答过程中,可能会看到编辑器里出现一些红线。不要担心,这表明 Language Support for Java 插件正在起作用。通常这意味着你的代码存在语法错误,下面的例子展示的错误原因是用到了依赖包但没有 import 到当前文件当中。我们可以利用 Quick Fix 功能进行修复:

42fb74a58546f0101ba4da00fc5290af.png
Quick Fix 图例
将依赖包导入时为了确保文件能够被正确编译。LeetCode 在检查答案的时候,并不会要求文件中存在相应的 import 语句,因此存不存在 import 语句不会影响最后的检查结果。

写完答案之后,我们还需要在同一个文件中,增加一个 Main 函数作为调试程序的执行入口,整个文件的代码结构如下:

class 

此时我们会看到在 Main 函数的上方出现了两个 CodeLens 按钮:

4fc74eea8947e146aa6bcb379e3f677a.png

点击 Run 按钮会运行 Main 函数,我们可以在下方弹出的 Debug Console 中看到程序的输出结果(因为我们在最后一行代码用了 println 输出答案)。

如果想要调试的话,可以在相应的行号位置设置好断点,点击 Debug 按钮,就可以进入调试模式查看代码运行情况了:

7e81a28686d660713fa4d3ff84c69d95.png
本地调试 Java 代码https://www.zhihu.com/video/1101226386064347136

这里有一点需要注意的是,由于 LeetCode 生成的答题模板的类名均为 Solution,因此会造成同一个目录下存在多个同名类的情况出现,可能导致代码无法正确执行,因此如果希望调试 LeetCode Java 代码,但当前目录又存在有多个 LeetCode Java 文件时,需要保证类名的唯一性,我们可以把被调试的 Solution 类改一个名字(但要记住提交时把名字改回来),或者干脆拷贝到另一个干净的目录下调试即可。

以上就是如何在 VS Code 中调试 LeetCode Java 代码的步骤,对于其他语言来说,基本也是大同小异的步骤,如果你有更好的建议或者有自己喜欢的调试技巧,欢迎在评论区留言!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 1. 首先,需要在VS Code安装C++插件,以便支持C++代码的编写和调试。 2. 在LeetCode网站上选择一道C++题目,并将其复制到VS Code。 3. 在VS Code打开终端,并使用g++编译器编译代码。例如,如果代码文件名为“test.cpp”,则可以使用以下命令进行编译: g++ -g test.cpp -o test 其,“-g”选项表示生成调试信息,“-o”选项表示指定输出文件名。 4. 在VS Code打开调试器,并创建一个新的调试配置。在调试配置,需要指定编译后的可执行文件路径和输入数据文件路径(如果有的话)。 5. 在调试设置断点,并运行程序。程序将在断点处停止,可以逐步执行代码并查看变量的值。 6. 在调试使用“继续”命令继续执行程序,直到程序结束或再次遇到断点。 7. 在调试查看程序的输出结果,并与LeetCode网站上的答案进行比较,以验证代码的正确性。 ### 回答2: VSCode是一款集成式开发环境(IDE),拥有丰富的扩展和调试功能,可以帮助我们更加高效地开发、调试代码。而Leetcode则是一款在线刷题平台,让我们可以更好地提升算法题的解题能力。这里将介绍如何使用VSCode调试Leetcode上的C++代码。 1. 安装Leetcode插件 首先,我们需要在VSCode上安装Leetcode插件,该插件可以帮助我们直接从VSCode上刷题、提交代码及检查代码正确性。安装方式可以通过在VSCode的Extensions搜索“Leetcode”,找到插件并安装即可。 2. 新建工作目录及C++文件 在VSCode新建一个工作目录,例如:D:/Leetcode,作为我们解题的工作目录。在该工作目录下,新建一个C++文件,例如:solution.cpp,作为我们的解题代码。 3. 将题目代码复制至solution.cpp 在Leetcode平台上找到要解答的题目并进入题目详情页。将题目下方的代码题框代码全部复制到VSCode的solution.cpp文件,并保存。 4. 通过终端编译并生成可执行文件 在VSCode使用终端进入到工作目录,例如: cd D:/Leetcode 在该目录下使用命令编译文件并生成可执行文件,例如: g++ solution.cpp -o solution 这里我们使用g++编译器来编译文件,-o可以将编译生成的可执行文件命名为solution。编译成功后,会在当前目录下生成一个solution可执行文件。 5. 创建debug配置文件 在VSCode点击“调试”按钮,并在左侧面板点击“运行调试” -> “创建配置文件”,选择“C++(GDB/LLDB)”来创建debug配置文件。然后在打开的launch.json文件编辑配置,例如: { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/solution", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb" } ] } 这里的配置,program参数为solution可执行文件路径,miDebuggerPath为gdb调试器的路径。根据自己的系统环境修改具体路径。 6. 设置断点并启动调试 在solution.cpp文件设置断点,例如在main函数第一行添加断点。然后点击VSCode工具栏上的“启动调试”按钮,VSCode会自动启动调试功能,执行到断点处并暂停。此时,我们可以在VSCode的“调试控制台”看到输出信息,也可以在编辑器查看变量的值、调用栈等调试信息。 7. 按需调试 按F10(逐行执行),F11(进入函数),F12(跳出函数)等键盘快捷键,可以根据需求执行、单步调试代码。在调试完成后,我们也可以在VSCode提交代码Leetcode,并查看代码是否通过。 总的来说,通过VSCode调试Leetcode上的C++代码,可以帮助我们更加高效、便捷地进行题目解答及代码提交。 ### 回答3: VS Code是一款非常流行的代码编辑器,它的调试功能非常强大,可以方便地调试C语言代码。当我们遇到LeetCode的问题时,我们可以使用VS Code调试C语言代码,以便更好地解决问题。下面,我将详细介绍如何使用VS Code调试LeetCode的C语言代码。 首先,我们需要安装VS Code和C语言扩展插件。在安装完成后,我们需要创建一个新的工作区,然后在终端使用git命令将LeetCode代码克隆到本地。 接下来,我们需要在VS Code打开这个文件夹,然后按F5键或者点击调试按钮进入调试模式。在弹出的调试面板,我们需要选择“C++”选项,然后点击“生成启动项”按钮,以便VS Code自动生成调试配置文件launch.json。 在launch.json文件,我们需要设置需要调试的文件路径和调试工具的类型。在本例,我们需要设置文件路径为main.c,并将调试工具类型设置为“lldb”。然后,我们需要在main.c文件添加断点,以便在调试时能够暂停执行。 接下来,我们需要点击“开始调试”按钮,进入调试模式。此时,VS Code会自动启动调试工具,并在代码执行到断点处时暂停。我们可以使用调试工具的命令来查看变量值、执行语句等操作,以便找到代码问题。 在调试过程,我们还可以使用调试工具的其他功能,如单步执行、跳过当前语句、查看堆栈、修改变量值等等,帮助我们更加有效地定位和解决问题。当问题解决后,我们可以按F5键退出调试模式,然后在终端提交我们的修改。 总之,使用VS Code调试LeetCode的C语言代码非常简单,并且非常有用。通过调试,我们可以更深入地了解代码的内部结构和执行流程,从而更好地解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值