Problem link : https://leetcode.com/problems/best-time-to-buy-and-sell-stock/submissions/
Twitter | LinkedIn
This is basic array question helps you to understand arrays better
part -1: buying and selling is allowed once
in this we will assume maximum profit zero initially and buying price maximum. We will iterate the array of prices, if we find the minimum buyprice less than the previous buying price we will update the buy price, for this we will use if statement if(prices[i]<buyprice>){ buyprice =price(i);}
this loop will execute only if price[i] value is smaller than the buyprice, or we can use the java Math.min class of java.
Similarly, we update the maxProfit if our maxProfit is more than price[i]-buyPrice or previous maxProfit. for this either we can use else if statement or MaxProfit= Math.max(MaxProfit, prices[i]-buyPrice);
class Solution {
public int maxProfit(int[] prices) {
int MaxProfit=0;
int buyPrice= Integer.MAX_VALUE;
for(int i=0; i< prices.length; i++){
if(prices[i]<buyPrice){
buyPrice= prices[i];
}
// else if(MaxProfit<prices[i]- buyPrice){
// MaxProfit= prices[i]-buyPrice;
//}
MaxProfit= Math.max(MaxProfit, prices[i]-buyPrice);
}
return MaxProfit;
}
}
Top comments (0)