leetcode121 買股票的最佳時機
給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。
如果你最多隻允許完成一筆交易(即買入和賣出一支股票),設計一個演算法來計算你所能獲取的最大利潤。
注意你不能在買入股票前賣出股票。
示例 1:
輸入: [7,1,5,3,6,4] 輸出: 5 解釋: 在第 2 天(股票價格 = 1)的時候買入,在第 5 天(股票價格 = 6)的時候賣出,最大利潤 = 6-1 = 5 。 注意利潤不能是 7-1 = 6, 因為賣出價格需要大於買入價格。
只需要遍歷一次陣列,用一個變數記錄遍歷過數中的最小值,然後每次計算當前值和這個最小值之間的差值最為利潤,然後每次選較大的利潤來更新。當遍歷完成後當前利潤即為所求。
public int maxProfit(int[] prices){
int res = 0, buy = Integer.MAX_VALUE;
for(int price : prices){
buy = Math.min(buy, price);
res = Math.max(res, buy - price);
}
return res;
}
相關推薦
LeetCode-探索-初級-陣列-買股票最佳時機2-java
買賣股票的最佳時機 II 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 設計一個演算法來計算你所能獲取的最大利潤。你可以儘可能地完成更多的交易(多次買賣一支股票)。 注意:你不能同時參與多筆交易(你必須在
leetcode121 買股票的最佳時機
給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果你最多隻允許完成一筆交易(即買入和賣出一支股票),設計一個演算法來計算你所能獲取的最大利潤。 注意你不能在買入股票前賣出股票。 示例 1: 輸入: [7,1,5,3,6,4]
買賣股票最佳時機(I II III IV 冷凍期,手續費)
共6個問題: 買賣股票最佳時機 買賣股票最佳時機 II 買賣股票最佳時機 III 買賣股票最佳時機 IV 最佳買賣股票時機含冷凍期 買賣股票最佳時機含手續費 分析: 只允許一次交易的最大收益(一次買進賣出)動態規劃: dp[i] = max(dp[i-1],
LeetCode121-123買股票的最佳時機
**一點想法:**在LeetCode上,買股票的最佳時機是連續的3道題,前兩道的思路都比較容易一點,第三題的思路需要站在一個抽象出來的高度來思考,會比較容易一些。 我在做這幾道題時,陷入了一種錯誤思路,以為類似的題目,使用一個矩陣記錄差值,一定會做出來。然後花一些時間來整理距離矩陣,
Leetcode-探索 | 買股票的最佳時機II
探索 max 計算 array list 交易所 參與 時機 bject 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 設計一個算法來計算你所能獲取的最大利潤。你可以盡可能地完成更多的交易(多次買賣一支股票)。 註意:你不能同時參與多筆交易(你必須在再次
LeetCode121買賣股票的最佳時機
bject desc n-1 -s obj urn strong problems leetcode1 LeetCode121買賣股票的最佳時機 未經博主同意,禁止瞎JB轉載。 https://leetcode-cn.com/problems/best-time-to-bu
leetcode 121. 買股票的最佳時機
題目描述: 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果你最多隻允許完成一筆交易(即買入和賣出一支股票),設計一個演算法來計算你所能獲取的最大利潤。 注意你不能在買入股票前賣出股票。 示例 1: 輸入: [7,1,5,3,6,4] 輸出: 5
LeetCode121. 買賣股票的最佳時機
給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果你最多隻允許完成一筆交易(即買入和賣出一支股票),設計一個演算法來計算你所能獲取的最大利潤。 注意你不能在買入股票前賣出股票。 class Solution { public: //
LeetCode121 買賣股票的最佳時機
題目 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果你最多隻允許完成一筆交易(即買入和賣出一支股票),設計一個演算法來計算你所能獲取的最大利潤。 注意你不能在買入股票前賣出股票。 示例 示例 1: 輸入: [7,1,5,3,6,4] 輸
leetcode121 python 買賣股票的最佳時機
給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。如果你最多隻允許完成一筆交易(即買入和賣出一支股票),設計一個演算法來計算你所能獲取的最大利潤。注意你不能在買入股票前賣出股票。示例 1:輸入: [7,1,5,3,6,4] 輸出: 5 解釋: 在第 2 天(股票
123. 買賣股票的最佳時機 III
3-0 XP 交易 col 必須 iii pro int 一個數 給定一個數組,它的第 i 個元素是一支給定的股票在第 i 天的價格。 設計一個算法來計算你所能獲取的最大利潤。你最多可以完成 兩筆 交易。 註意: 你不能同時參與多筆交易(你必須在再次購買前出售掉之前的股票)
leetcode 121. 買賣股票的最佳時機
div pan solution IV spa 給定 數組 price ret 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果你最多只允許完成一筆交易(即買入和賣出一支股票),設計一個算法來計算你所能獲取的最大利潤。 註意你不能在買入股票前賣出股票。
代碼題(6)— 買賣股票的最佳時機
npos min 解釋 spa 元素 span int 需要 最大 1、121. 買賣股票的最佳時機(僅限一次) 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果你最多只允許完成一筆交易(即買入和賣出一支股票),設計一個算法來計算你所能獲取的最大利潤。
[LeetCode]數組——買賣股票的最佳時機 II
獲取 pro 設計 pan 更多 完成 一個 class 交易 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 設計一個算法來計算你所能獲取的最大利潤。你可以盡可能地完成更多的交易(多次買賣一支股票)。 註意:你不能同時參與多筆交易(你必須在再次購買前出售
(轉)動態規劃算法—買賣股票的最佳時機系列
blog 研究 html tails com tps www lan targe 這個題,還是有些不懂,後面研究研究https://blog.csdn.net/chenvast/article/details/78950392 https://www.cnblogs.co
(二)買賣股票的最佳時機
class str sta code 獲取 pre 設計 之前 += 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 設計一個算法來計算你所能獲取的最大利潤。你可以盡可能地完成更多的交易(多次買賣一支股票)。 註意:你不能同時參與多筆交易(你必須在再次購買
LeetCode 122. 買賣股票的最佳時機 II(Best Time to Buy and Sell Stock II)
必須 toc for pub i++ pre 價格 股票 時機 題目描述 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 設計一個算法來計算你所能獲取的最大利潤。你可以盡可能地完成更多的交易(多次買賣一支股票)。 註意:你不能同時參與多筆交易(你必須在
leetcode 121. 買賣股票的最佳時機 【動態規劃】【陣列】【Easy】
題目: 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果你最多隻允許完成一筆交易(即買入和賣出一支股票),設計一個演算法來計算你所能獲取的最大利潤。 注意你不能在買入股票前賣出股票。 示例 1: 輸入: [7,1,5,
買賣股票的最佳時機 II c++演算法 leetcode122
題目: 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 設計一個演算法來計算你所能獲取的最大利潤。你可以儘可能地完成更多的交易(多次買賣一支股票)。 注意:你不能同時參與多筆交易(你必須在再次購買前出售掉之前的股票)。 解答: 對題目進行理解,都有什麼
Lintcode 買賣股票的最佳時機 系列問題1,2,3
題目1 假設有一個數組,它的第i個元素是一支給定的股票在第i天的價格。如果你最多隻允許完成一次買入和賣出,設計一個演算法來找出最大利潤。 樣例 給出一個數組樣例 [3,2,3,1,2], 返回 1 def maxProfit(self, prices): # wr