얻을 수 있는 수익의 최대값을 찾는 문제입니다.
가장 작은 값과 가장 큰 수익을 반복문을 돌며 찾으면 O(n) 으로 해결 할 수 있습니다.
class Solution {
public int maxProfit(int[] prices) {
int minPrice = Integer.MAX_VALUE;
int maxProfit = 0;
for (int price : prices) {
minPrice = Math.min(minPrice, price);
maxProfit = Math.max(maxProfit, price - minPrice);
}
return maxProfit;
}
}