LeetCode每日一题Day1——买卖股票的最佳时机

✨博主:命运之光

专栏:算法修炼之练气篇(C\C++版)

专栏:算法修炼之筑基篇(C\C++版)

专栏:算法修炼之练气篇(Python版)

✨博主的其他文章:点击进入博主的主页 

前言:欢迎来到这个LeetCode每日算法题专栏!

无论你是编程新手还是有一定经验的开发者,掌握算法和数据结构都是成功的关键。在这个专栏里,我将每天为你分享一道算法题,并提供简单易懂的解析和讲解。

☀️通过每日挑战,你将逐渐培养解决问题的思维方式,掌握重要的编程技巧。无论是面试准备还是日常编码,这些知识都将对你大有裨益。

让我们一起开始这段充满乐趣和成长的学习之旅吧!希望你能从中受益,开拓编程的新视野!

LeetCode每日一题Day1——买卖股票的最佳时机_第1张图片

目录

LeetCode每日一题Day1——买卖股票的最佳时机

正确代码

错误总结

1.调试代码出现错误

错误原因:

2.第一次在leetcode的上写题对规则不是很了解。

错误原因:

修改后的最终代码为:

✨结语


LeetCode每日一题Day1——买卖股票的最佳时机

LeetCode每日一题Day1——买卖股票的最佳时机_第2张图片

正确代码

class Solution {
public:
    int maxProfit(vector& prices) {
        int minn = prices[0];
        int ans = 0;
        for (int i = 0; i < prices.size(); i++) {
            minn = min(minn, prices[i]);
            ans = max(ans, prices[i] - minn);
        }
        return ans;
    }
};

LeetCode每日一题Day1——买卖股票的最佳时机_第3张图片

错误总结

1.调试代码出现错误

#include
using namespace std;
class Solution{
	public:
		int promit(vector& prices){
			int minn=prices[0];
			int ans=0;
			for(int i=0;i>n;
	vector p;
	for(int i=0;i>p[i];
		}	
	cout<

错误原因:

代码中有两处问题:

  1. 在使用 vector p; 创建向量 p 后,没有为其分配内存空间,所以无法直接通过 cin >> p[i]; 来读取元素。
  2. 没有包含 #include 头文件,导致编译器无法识别 vector 类型。

以下是修改后的代码:

#include 
#include  // 添加vector头文件

using namespace std;

class Solution {
public:
    int promit(vector& prices) {
        int minn = prices[0];
        int ans = 0;
        for (int i = 0; i < prices.size(); i++) {
            minn = min(minn, prices[i]);
            ans = max(ans, prices[i] - minn);
        }
        return ans;
    }
};

int main() {
    Solution s;
    int n;
    cin >> n;
    vector p(n); // 为向量p分配n个元素的空间
    for (int i = 0; i < n; i++) {
        cin >> p[i];
    }
    cout << s.promit(p);
    return 0;
}

修改后的代码已经可以正常运行,可以输入 n 和 p 数组的元素,并输出结果。注意在使用 vector p(n); 时,我们为向量 p 分配了 n 个元素的空间,因此可以通过 p[i] 来访问每个元素。

2.第一次在leetcode的上写题对规则不是很了解。

我将成功的代码复制上去后报了一个错误。

class Solution {
public:
    int promit(vector& prices) {
        int minn = prices[0];
        int ans = 0;
        for (int i = 0; i < prices.size(); i++) {
            minn = min(minn, prices[i]);
            ans = max(ans, prices[i] - minn);
        }
        return ans;
    }
};

报了一个这个错误Line 19: Char 28: error: no member named 'maxProfit' in 'Solution' int ret = Solution().maxProfit(param_1); return ret; ~~~~~~~~~~ ^ 1 error generated.

错误原因:

根据报错信息看来,问题出在调用函数 maxProfit 上。实际上,在你的代码中,并没有定义 maxProfit 函数,而是定义了 promit 函数。因此,报错是因为在调用 maxProfit 时找不到对应的函数名。

修改后的最终代码为:

class Solution {
public:
    int maxProfit(vector& prices) {
        int minn = prices[0];
        int ans = 0;
        for (int i = 0; i < prices.size(); i++) {
            minn = min(minn, prices[i]);
            ans = max(ans, prices[i] - minn);
        }
        return ans;
    }
};

✨结语

再接再厉,继续加油!


本章的内容就到这里了,觉得对你有帮助的话就支持一下博主把~

点击下方个人名片,交流会更方便哦~
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

你可能感兴趣的:(#,LeetCode算法题精炼,leetcode,算法,职场和发展,c++,c语言,数据结构)