如何在本地编译器上调试leetcode的代码

题目描述

在这里插入图片描述
题目链接:https://leetcode-cn.com/problems/two-sum

在leetcode上的解题代码
class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        map<int,int> tmp;        // 建立hash表存放数组元素
        vector<int> res(2,-1);   // 存放结果
        for(int i=0;i<nums.size();i++)
            tmp.insert(map<int,int>::value_type(nums[i],i));
        for(int i=0;i<nums.size();i++)
        {
            if(tmp.count(target-nums[i])>0&&(tmp[target-nums[i]]!=i))
            // 判断是否找到目标元素且目标元素不能是本身
            {
                res[0]=i;
                res[1]=tmp[target-nums[i]];
                break;
            }
        }
        return res;
    };
};
将解题代码放至本地编译器
#include <iostream>
#include <vector>
#include <map>
using namespace std;

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        map<int,int> tmp;        // 建立hash表存放数组元素
        vector<int> res(2,-1);   // 存放结果
        for(int i=0;i<nums.size();i++)
            tmp.insert(map<int,int>::value_type(nums[i],i));
        for(int i=0;i<nums.size();i++)
        {
            if(tmp.count(target-nums[i])>0&&(tmp[target-nums[i]]!=i))
            // 判断是否找到目标元素且目标元素不能是本身
            {
                res[0]=i;
                res[1]=tmp[target-nums[i]];
                break;
            }
        }
        return res;
    };
};

int main () {
	vector<int> nums = {2,7,11,15};
	Solution solution;
	vector<int> res = solution.twoSum(nums, 9);
	for (int i = 0; i < int(res.size()); ++i) {
		cout << i << " ";
	}
	return 0;
}

从两段代码中不难发现,在添加相应的头文件后,其他过程分为四步:

  1. 定义一个main函数
  2. 构造出相应的变量
  3. 调用相应的函数
  4. 特定位置设置cout输出进行调试

在这里插入图片描述

输出结果

在这里插入图片描述

vector的另一种构造方法:以数组首尾地址构造vector
int main () {
	int  arr = {2,7,11,15};
	// 构造vector时存入数组的首尾地址构造
	vector<int> res(arr, arr + sizeof(arr) / sizeof(int)); 
	Solution solution;
	for (int i = 0; i < int(res.size()); ++i) {
		cout << i << " ";
	}
	return 0;
}```



  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答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语言代码非常简单,并且非常有用。通过调试,我们可以更深入地了解代码的内部结构和执行流程,从而更好地解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值