|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- Say you have an array for which the ith element is the price of a given stock on day i.
- If you were only permitted to complete at most one transaction (i.e., buy one and sell one share of the stock), design an algorithm to find the maximum profit.
- Note that you cannot sell a stock before you buy one.
- Example 1:
- Input: [7,1,5,3,6,4]
- Output: 5
- Explanation: Buy on day 2 (price = 1) and sell on day 5 (price = 6), profit = 6-1 = 5.
- Not 7-1 = 6, as selling price needs to be larger than buying price.
- Example 2:
- Input: [7,6,4,3,1]
- Output: 0
- Explanation: In this case, no transaction is done, i.e. max profit = 0.
复制代码
- class Solution {
- public int maxProfit(int[] prices) {
-
- if(prices.length == 0 ) return 0;
-
- int min = prices[0];
- int price = 0;
-
- for(int i = 0; i< prices.length; i++){
-
- if(prices[i] < min){
-
- min = prices[i];
- }
-
- else{
-
- price = Math.max(price,prices[i] - min);
- }
- }
-
- return price;
-
- }
- }
复制代码 |
|