摘要:注意你不能在買入股票前賣出股票。示例輸入輸出解釋在這種情況下沒有交易完成所以最大利潤為。解答這里要注意的一點就是不能直接求出最大的和最小的然后相減得出結果,因為買和賣是由順序關系的,買必須在賣之前,代碼如下
發布自Kindem的博客,歡迎大家轉載,但是要注意注明出處題目
給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。
如果你最多只允許完成一筆交易(即買入和賣出一支股票),設計一個算法來計算你所能獲取的最大利潤。
注意你不能在買入股票前賣出股票。
示例 1:
輸入: [7,1,5,3,6,4] 輸出: 5 解釋: 在第 2 天(股票價格 = 1)的時候買入,在第 5 天(股票價格 = 6)的時候賣出,最大利潤 = 6-1 = 5 。 注意利潤不能是 7-1 = 6, 因為賣出價格需要大于買入價格。
示例 2:
輸入: [7,6,4,3,1] 輸出: 0 解釋: 在這種情況下, 沒有交易完成, 所以最大利潤為 0。解答
這里要注意的一點就是不能直接求出最大的和最小的然后相減得出結果,因為買和賣是由順序關系的,買必須在賣之前,JavaScript代碼如下:
/** * @param {number[]} prices * @return {number} */ let maxProfit = (prices) => { let ans = 0; for (let i = 0 ; i < prices.length; i++) { let arr = []; for (let j = i + 1; j < prices.length; j++) arr.push(prices[j] - prices[i]); let max = 0; for (let j = 0; j < arr.length; j++) if (arr[j] > max) max = arr[j]; ans = max > ans ? max : ans; } return ans; };
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/96458.html
121. Best Time to Buy and Sell Stock 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 on...
摘要:分析因為當前日期買賣股票會受到之前日期買賣股票行為的影響,首先考慮到用解決。所以我們可以用兩個數組分別記錄當前持股跟未持股的狀態。 Best Time to Buy and Sell Stock with Cooldown Say you have an array for which the ith element is the price of a given stock on ...
摘要:示例輸入輸出解釋對應的交易狀態為買入賣出冷凍期買入賣出思路這道題使用動態規劃。狀態表示當天休息能夠獲得的最大價值,表示當天持有股票能夠獲得的最大價值,表示當天持有股票能夠獲得的最大價值。 Description Say you have an array for which the ith element is the price of a given stock on day i. ...
摘要:題目鏈接來解,要用兩個分別表示現在的操作是還是,優化空間用滾動數組,或者幾個 309. Best Time to Buy and Sell Stock with Cooldown 題目鏈接:https://leetcode.com/problems... dp來解,要用兩個dp array分別表示現在的操作是buy還是sell,優化空間用滾動數組,或者幾個int public clas...
摘要:關鍵字,,算法,,動態規劃,上關于主題的題目有四個這四個題目難度依次遞增。其中第四個問題是尋求一個通解,在給定和最大買賣次數的情況下,求最大收益。首先大致的解題方向是動態規劃,這個應該不難想到。之后就是怎么找到狀態,怎么列狀態轉移方程。 關鍵字:leetcode,Best Time To Buy And Sell Stock,算法,algorithm,動態規劃,dynamic prog...
閱讀 1111·2021-09-22 16:04
閱讀 1494·2019-08-30 15:43
閱讀 1097·2019-08-29 14:01
閱讀 3438·2019-08-26 12:19
閱讀 3353·2019-08-26 12:15
閱讀 1444·2019-08-26 12:13
閱讀 3264·2019-08-23 17:00
閱讀 1483·2019-08-23 15:38