121. 买卖股票的最佳时机 c++

121. 买卖股票的最佳时机

写在前面,小白从零刷题,在解答会写出思路,正确答案,以及所有使用到的语法和知识点

1.dp 5

  • 如何想到?
  1. 最大值关键词,之后的状态和之前有关
  • 解题步骤
  1. 判断当前的值与之前数组内的最小值和上一个状态的比较

class Solution {
     
public:
    int maxProfit(vector<int>& prices) {
     
        if(prices.size()==0)return 0;
        int min_num=prices[0],temp=0,ans=0;
        for(int i=1;i<prices.size();i++){
     
            if(prices[i]<min_num){
     
                min_num=prices[i];
            }
            temp=prices[i]-min_num;
            ans=ans>temp? ans:temp;
        }
        return ans;        
    }
};

时间复杂度/空间复杂度分析/面试场景如何作答

  • 方法一时间空间复杂度
  1. 时间复杂度:O(N)
  2. 空间复杂度:O(1)

你可能感兴趣的:(leetcode,数据结构,算法,leetcode,c++)