把leetcode上的代码段搬到本地编译
在leetcode上刷题时,有时候想把代码片段放到本地来学习编译,下面来介绍c++语言操作方法。后续有时间还会更新演示python、golang和C语言的版本。本地操作环境是Centos7,已安装了gcc核g++. 以《剑指 Offer》 II 088. 爬楼梯的最少成本问题为例(https://leetcode-cn.com/problems/GzCJIP/).找到"题解"下的官方讲解中的C++答案标签页,是如下内容:
class Solution {
public:
int minCostClimbingStairs(vector<int>& cost) {
int n = cost.size();
int prev = 0, curr = 0;
for (int i = 2; i <= n; i++) {
int next = min(curr + cost[i - 1], prev + cost[i - 2]);
prev = curr;
curr = next;
}
return curr;
}
};
然后在本地建一个test.cpp文件,编辑文件内容如下:
#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
int minCostClimbingStairs(vector<int>& cost) {
int n = cost.size();
int prev = 0, curr = 0;
for (int i = 2; i <= n; i++) {
int next = min(curr + cost[i - 1], prev + cost[i - 2]);
prev = curr;
curr = next;
}
return curr;
}
};
int main()
{
Solution s;
vector<int> vecTest;
vecTest.clear();
vecTest.push_back(10);
vecTest.push_back(15);
vecTest.push_back(20);
int ret = s.minCostClimbingStairs(vecTest);
cout<<"display minimum cost:"<<endl;
cout << ret <<endl;
return 0;
}
编译方法如下
- g++ test.cpp -o test
- gcc test.cpp -lstdc++ -o test
以上两种方法都可以,如果不加-o得出的二进制文件名为a.out. 然后运行原则编译出来的二进制文件就可以了。
分类:
编程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现