//方法一:暴力破解法,使用2重循环来解决,这种方法时间复杂度较高
//Time:O(n^2),Space:O(1)
//语言:经典C++
class Solution
{
public:
int max(int a,int b)
{
return a>b?a:b;
}
int maxProfit(vector<int>& prices)
{
int maxfit=0;
if(prices.size()<2) return 0;
for(int i=0;i<prices.size();i++)
{
for(int j=i+1;j<prices.size();j++)
{
maxfit=max(maxfit,prices[j]-prices[i]);
}
}
return maxfit;
}
};
//方法二
//Time:O(n),Space:O(1)
class Solution
{
public:
int max(int a,int b)
{
return a>b?a:b;
}
int maxProfit(vector<int>& prices)
{
if(prices.size()<2||prices.size()==0) return 0;
int maxFit=0,buy=prices[0];
for(int i=1;i<prices.size();i++)
{
if(prices[i]<buy)
{
buy=prices[i];
}
else
{
maxFit=max(maxFit,prices[i]-buy);
}
}
return maxFit;
}
};