LeetCode 121:買賣股票的最佳時機 思考分析

題目描述:
給定一個數組,它的第 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。
題目鏈接:121:買賣股票的最佳時機

第一個思路:使用雙for循環,然后就超時了。。

class Solution {
public:int maxProfit(vector<int>& prices) {int n=prices.size();int ans=0;for(int i=0;i<n;i++){for(int j=0;j<i;j++){ans = max(ans,prices[i]-prices[j]);}}if(ans<=0)ans=0;return ans;}
};

第二個思路:dp[i]:表示前i天能獲取的最大價值
dp[i]由兩種方式獲取:
1、計算前i-1天中買入的最小價格在第i天賣出的價格
2、計算前i-1天能獲取的最大價值
兩者取大值。
另外還需要注意:
1、當輸入為空數組時,返回0(邊界情況)
2、如果你新建了一個dp數組,可以發現不需要,直接用ans替換就行了,因為我們只用到dp數組的兩個狀態。

class Solution {
public:int maxProfit(vector<int>& prices) {int n=prices.size();if(n==0) return 0;int ans=0;int minnum =prices[0];for(int i=1;i<n;i++){minnum=min(minnum,prices[i]);ans=max(ans,prices[i]-minnum);}if(ans<=0)ans=0;return ans;}
};

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/378127.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/378127.shtml
英文地址,請注明出處:http://en.pswp.cn/news/378127.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

四、規則組織的衍生組織——經向破斜組織數學模型的建立

基礎概念公式推到可參考該專欄下的前幾篇博文。 經向破斜組織圖&#xff1a; 左半部分&#xff1a;&#xff0c;3上2下1上2下&#xff0c;右斜&#xff0c;飛數為1 右半部分&#xff1a;&#xff0c;2上1下2上3下。左斜&#xff0c;飛數為-1 左右兩部分&#xff0c;經緯紗組織…

EASYUI+MVC4通用權限管理平臺

通用權限案例平臺在經過幾年的實際項目使用&#xff0c;并取得了不錯的用戶好評。在平臺開發完成后&#xff0c;特抽空總結一下平臺知識&#xff0c;請各位在以后的時間里&#xff0c;關注博客的更新。 1.EASYUIMVC4通用權限管理平臺--前言 2.通用權限管理平臺--架構選型 3.通用…

int max+1小于0_INT_MAX常數,C ++中的示例

int max1小于0C INT_MAX宏常量 (C INT_MAX macro constant) INT_MAX constant is a macro constant which is defied in climits header, it is used to get the maximum value of a signed int object, it returns the maximum value that a signed int object can store, wh…

在計算機領域客觀事物的屬性表示為數據,數據與信息試題解析

一圖看懂數據與信息1、在計算機領域&#xff0c;信息是經過轉化而成為計算機能夠處理的__________。A&#xff0e;數據B&#xff0e;符號C&#xff0e;圖形D&#xff0e;數字答案&#xff1a;A。解析&#xff1a;本題考查有關信息基本概念的知識。信息是人們由客觀事物得到的。…

Mysql Data 目錄和 Binlog 目錄 搬遷

Mysql5.1.38 Data 目錄和 Binlog 目錄 搬遷 [mysql-bin.index not found (Errcode: 2)]Leave a comment Go to comments剛開始安裝時使用了默認目錄&#xff0c;使用一段時間&#xff0c;數據慢慢變在&#xff0c;發現當前設置的目錄空間不夠時&#xff0c;就要搬遷數據到另一個…

【數據結構基礎】【散列表】

散列表也叫做哈希表(hash table),這種數據結構提供了鍵(key)和值(value)的映射關系。只要給出一個key&#xff0c;就可以高效查找它匹配的value&#xff0c;時間復雜度接近O(1); 哈希函數 哈希函數通過某種方式&#xff0c;把key和數組下標進行轉換。 在java中&#xff0c;每…

VisualStudio運行C++項目檢測include<stdio.h>報錯解決方案

一、項目—>屬性 二、將SDL檢查更改為否即可

事業單位計算機技術崗工資,事業單位新入職的人員在管理崗位和技術崗位工資待遇是否有區別?...

解答于&#xff1a; 2016-05-24 17:17工傷保險條例對工傷工資待遇有說明&#xff1a; 第三十一條職工因工作遭受事故傷害或者患職業病需要暫停工作接受工傷醫療的&#xff0c;在停工留薪期內&#xff0c;原工資福利待遇不變&#xff0c;由所在單位按月支付。  停工留薪期一般…

信息設計中的“父子關系”

交互設計工作核心在于信息架構和交互細節設計。信息架構包括信息分類以及信息展示邏輯設計&#xff1b;交互細節則多表現為控件的選擇&#xff0c;交互效果的定義等。在信息設計中&#xff0c;遇到最棘手的問題就是信息量太多而顯得設計結果不盡人意&#xff0c;那么在砍不掉需…

python 示例_帶有示例的Python文件關閉屬性

python 示例文件關閉屬性 (File closed Property) closed Property is an inbuilt property of File object (IO object) in Python, it can be used to check whether a file object (i.e. a file) is closed or not, this is a read-only property and returns a Boolean val…

[Object-oriented] : 控制反轉

前言 : 參加點部落的活動&#xff0c;關于IoC(控制反轉)大家有很多的討論。本文排除對象生成的部份&#xff0c;單純解釋IoC為甚么叫做控制反轉。本篇文章以之前寫的 [Object-oriented] : 重用內容來舉例。 未IoC之前的對象圖 : 很明顯的左邊的組件A&#xff0c;相依右邊的組件…

二、規則組織數學模型的建立

一、規則組織數學模型的建立 規則組織滿足兩個不變&#xff1a;1&#xff0c;組織點運動規律不變、2&#xff0c;飛數不變的單系統組織 即&#xff1a;若知道組織點運動規律和飛數即可確定唯一一個組織。 3上2下&#xff0c;組織循環數為325&#xff0c;經紗循環數緯紗循環數…

LeetCode 3:無重復字符的最長子串 思考分析

給定一個字符串&#xff0c;請你找出其中不含有重復字符的 最長子串 的長度。 示例 1: 輸入: “abcabcbb” 輸出: 3 解釋: 因為無重復字符的最長子串是 “abc”&#xff0c;所以其長度為 3。 示例 2: 輸入: “bbbbb” 輸出: 1 解釋: 因為無重復字符的最長子串是 “b”&#x…

e-r模型教案高中計算機,《ER模型1》[數據庫][計算機]教案.doc

《ER模型1》[數據庫][計算機]教案一、復習舊知識點1、數據庫概念設計的意義是什么&#xff1f;2、概念設計的基本步驟是什么&#xff1f;二、明確學習目標1、E-R模型的基本元素2、屬性的分類三、重點、難點E-R模型的基本元素基本屬性和復合性四、講授知識點&#xff0c;指導自學…

(譯)利用ASP.NET加密和解密Web.config中連接字符串

介紹 這篇文章我將介紹如何利用ASP.NET來加密和解密Web.config中連接字符串 背景描述 在以前的博客中&#xff0c;我寫了許多關于介紹 Asp.net, Gridview, SQL Server, Ajax, JavaScript等的文章。大多數情況下&#xff0c;我都把數據庫的連接字符串放在了web.config中。其中包…

lock_sh 示例_帶有示例的Python date __str __()方法

lock_sh 示例Python date .__ str __()方法 (Python date.__str__() Method) date.__str__() method is used to manipulate objects of date class of module datetime. date .__ str __()方法用于操作模塊datetime的date類的對象。 It uses a date class object and return…

美國人看見的是友情,中國人看見的是忠誠

美國人看見的是友情&#xff0c;中國人看見的是忠誠 這是一個人狗情未了的感人事件。 一個即將死去的人&#xff0c;總有未了的心愿難以割舍&#xff0c;來自美國的凱文麥克萊恩實現了他的臨終愿望&#xff0c;而他的最后愿望就是與自己的愛犬見上最后一面。 現年57歲的凱文麥克…

PyCharm安裝及配置

一、下載PyCharm和相關工具 qoi8 二、安裝PyCharm 先不要運行PyCharm 三、將jar包放到PyCharm安裝目錄的bin文件夾下 三、找到pycharm64.exe.vmoptions和pycharm.exe.vmoptions配置文件 四、編輯這兩個文件&#xff0c;在這兩個文件最后一行加入下載好的jar包文件路徑 -ja…

LeetCode 239:滑動窗口最大值 思考分析

給定一個數組 nums&#xff0c;有一個大小為 k 的滑動窗口從數組的最左側移動到數組的最右側。你只可以看到在滑動窗口內的 k 個數字。滑動窗口每次只向右移動一位。 返回滑動窗口中的最大值。 進階&#xff1a; 你能在線性時間復雜度內解決此題嗎&#xff1f; 示例: 輸入: num…

計算機論文范文1500,電子商務畢業論文范文1500字

電子商務畢業論文范文1500字時間稍縱即逝&#xff0c;充滿意義的大學生活即將結束&#xff0c;畢業前要通過最后的畢業論文&#xff0c;畢業論文是一種有計劃的檢驗學生學習成果的形式&#xff0c;那么問題來了&#xff0c;畢業論文應該怎么寫&#xff1f;下面是小編為大家整理…