算法第40天|買賣股票的最佳時機 1 2 3

121. 買賣股票的最佳時機

題目

在這里插入圖片描述

思路與解法

記錄每一天買或不買時的價值

class Solution {
public:int maxProfit(vector<int>& prices) {// dp數組含義://  dp[i][0]:第i天,持有股票時的最大價值,dp[i][1]:第i天,不持有股票時的最大價值vector<vector<int>> dp(prices.size(), vector<int>{0,0});dp[0][0] = -prices[0];dp[0][1] = 0;// 先遍歷日子再遍歷是否持有for(int i=1;i<prices.size();i++){dp[i][0] = max(dp[i-1][0], -prices[i]);dp[i][1] = max(dp[i-1][0]+prices[i], dp[i-1][1]);}return max(dp[prices.size()-1][0],dp[prices.size()-1][1] );}
};?

122.買賣股票的最佳時機II

題目

在這里插入圖片描述

思路與解法

相比較于上一道題,只是持有時的推導公式有些變化

class Solution {
public:int maxProfit(vector<int>& prices) {// dp數組含義://  dp[i][0]:第i天,持有股票時的最大價值,dp[i][1]:第i天,不持有股票時的最大價值vector<vector<int>> dp(prices.size(), vector<int>{0,0});dp[0][0] = -prices[0];dp[0][1] = 0;// 先遍歷日子再遍歷是否持有for(int i=1;i<prices.size();i++){dp[i][0] = max(dp[i-1][0], dp[i-1][1]-prices[i]);dp[i][1] = max(dp[i-1][0]+prices[i], dp[i-1][1]);}return max(dp[prices.size()-1][0],dp[prices.size()-1][1] );}
};

123.買賣股票的最佳時機III

題目

在這里插入圖片描述

思路與解法

難度主要在于,狀態多了
整個買賣股票系列,都在于表示狀態的方式有些變化

class Solution {
public:int maxProfit(vector<int>& prices) {if (prices.size() == 0) return 0;vector<vector<int>> dp(prices.size(), vector<int>(5, 0));dp[0][1] = -prices[0];dp[0][3] = -prices[0];for (int i = 1; i < prices.size(); i++) {dp[i][0] = dp[i - 1][0];dp[i][1] = max(dp[i - 1][1], dp[i - 1][0] - prices[i]);dp[i][2] = max(dp[i - 1][2], dp[i - 1][1] + prices[i]);dp[i][3] = max(dp[i - 1][3], dp[i - 1][2] - prices[i]);dp[i][4] = max(dp[i - 1][4], dp[i - 1][3] + prices[i]);}return dp[prices.size() - 1][4];}
};

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

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

相關文章

【趙渝強老師】使用select...into outfile語句備份MySQL

MySQL可以使用select…into outfile語句將表的內容導出為一個文本文件。其基本的語法格式如下&#xff1a; select [列名] from 表名 [WHERE 語句] into outfile 目標文件 [其他選項];該語句分為兩個部分。前半部分是一個普通的select語句&#xff0c;通過這個select語句來查詢…

PHY XGE 自協商AN數據交互過程

在裸機環境下&#xff0c;兩個 **支持 10GBASE-T** 的 PHY 芯片通過 Clause 73 協議完成自協商&#xff08;Auto-Negotiation&#xff0c;AN&#xff09;&#xff0c;它們在 **無操作系統控制** 的條件下&#xff0c;完成以下 **完整的點對點數據交互流程**&#xff1a; --- ##…

【算法 day09】LeetCode 232.用棧實現隊列 | 225. 用隊列實現棧 | 20. 有效的括號 |1047. 刪除字符串中的所有相鄰重復項

232.用棧實現隊列 題目鏈接 | 文檔講解 |視頻講解 : 鏈接 1.思路&#xff1a; 使用2個棧去實現隊列 先將元素放入棧1中&#xff0c;然后在將棧1中的元素出棧到棧2中&#xff0c;棧2的元素出棧順序就和隊列的出隊一樣 2.代碼&#xff1a; class MyQueue {Stack<Integer…

大模型項目實戰:業務場景和解決方案

你的這張圖已經涵蓋了很多主流的大模型實戰項目&#xff0c;非常全面&#xff01;下面我會補充更多市面上常見的AI大模型實戰項目&#xff0c;并且簡要說明每個項目的核心內容、實現思路和主流技術棧&#xff0c;方便你參考和擴展。 1. 智能問答/知識庫系統 核心內容&#xff…

vscode + Jlink 一鍵調試stm32 單片機程序(windows系統版)

vscode Jlink 一鍵調試stm32 單片機程序 安裝交叉編譯工具鏈安裝 x-pack 構建工具安裝 JLink 工具gnu-debuger 插件編譯一鍵啟動調試 安裝交叉編譯工具鏈 stm32采用 交叉編譯工具鏈 arm-none-eabi-xxx, 下載之后解壓&#xff0c;壓縮包內部結構如下圖&#xff1a; 目錄下的bi…

Linux線程概念和控制

Linux線程概念 Linux中線程如何理解 線程<執行流<進程 Linux中的線程模擬進程實現&#xff08;線程就是輕量級進程&#xff09; 與獨立的進程相比&#xff0c;線程創建和銷毀的開銷較小&#xff0c;因為它們共享相同的內存空間和資源。 線程是進程內的執行分支&…

服務器出現問題,連接服務器出現3680 并刪除數據庫出現1192,請查看詳細問題(運維)

mysql連接服務器時&#xff0c;出現這個問題&#xff1a;3680 - Failed to create schema directory xxxx (errno: 28 - No space left on device) 第一步&#xff1a;診斷問題類型 檢查磁盤空間 運行以下命令&#xff1a; bash df -h # 查看磁盤使用情況 如果輸出中 Use% 接…

uniapp:微信小程序膠囊「復制鏈接」灰色處理

在原生開發的小程序中默認是支持復制的 &#x1f424; 但是在 uniapp 開發的小程序中無法復制&#xff08;體驗版與開發版都可以進行復制&#xff0c;但發布后不可&#xff09; 解決方法&#xff1a; methods: {onShareAppMessage: function() {// return custom share data …

差分數組c++

溫度波動記錄 每天記錄溫度&#xff0c;支持區間溫度調整和單日查詢 輸入&#xff1a; 第一行&#xff1a;一個整數n表示有n個溫度 第二行&#xff1a;n個數表示具體溫度 第三行&#xff1a;三個整數&#xff1a;S&#xff0c;e&#xff0c;c&#xff0c;表示從…

Vue.js 列表過濾實現詳解(watch和computed實現)

Vue.js 列表過濾實現詳解 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthd…

性能測試-jmeter實戰4

課程&#xff1a;B站大學 記錄軟件測試-性能測試學習歷程、掌握前端性能測試、后端性能測試、服務端性能測試的你才是一個專業的軟件測試工程師 性能測試-jmeter實戰4 jmeter環境搭建1. 安裝Java環境&#xff08;必需&#xff09; JMeter環境搭建完整指南1. 安裝Java&#xff0…

GPPT(Graph Pre-training and Prompt Tuning)項目復現

GPPT(Graph Pre-training and Prompt Tuning)項目復現 項目概述 GPPT是一種創新的圖神經網絡預訓練與提示調整框架,由MingChen-Sun等人提出。該項目通過將自然語言處理中的提示學習概念引入圖領域,解決了圖預訓練模型在下游任務中的適應性問題。 環境配置 # 創建Python…

anchor 智能合約 IDL 調用

簡介&#xff1a;通過 IDL 生成代碼 調用 anchor 智能合約。 全網首發 使用 anchor 可以快速開發 solana 上面的智能合約 &#xff0c; 在本案例中我們 先使用 anchor 創建一個只能合約&#xff08; 多個函數方法&#xff09;。 部署到 dev 鏈上。 通過 anchor 的 IDL 生成 代碼…

【Clickhouse系列】事務

目錄 1. 標準 ACID 支持場景 (MergeTree 引擎家族) 2. 非 ACID 場景 3. 實驗性事務功能 (非云環境) 總結 參考文檔 事務性 (ACID) 支持 | ClickHouse Docs ClickHouse ACID 支持核心要點 1. 標準 ACID 支持場景 (MergeTree 引擎家族) ? 單分區插入 (原子塊) ? ? 原子性…

在cursor中,配置jdk和maven環境,安裝拓展插件

目錄 1.手動配置jdk和maven 2.安裝java拓展插件 1.手動配置jdk和maven 第一步&#xff1a;按ctrl shift p, 搜索“Preferences: Open User Settings (JSON)” 并回車&#xff0c;打開 settings.json 文件 。然后添加或修改以下內容&#xff1a; "java.home": &qu…

(線性代數最小二乘問題)Normal Equation(正規方程)

Normal Equation&#xff08;正規方程&#xff09; 是線性代數中的一個重要概念&#xff0c;主要用于解決最小二乘問題&#xff08;Least Squares Problem&#xff09;。它通過直接求解一個線性方程組&#xff0c;找到線性回歸模型的最優參數&#xff08;如權重或系數&#xff…

在架構設計中平衡動態語言與靜態語言部署差異的策略分析

在軟件架構設計過程中&#xff0c;語言的選型不僅僅關乎開發效率&#xff0c;更直接影響系統的部署速度、運行性能與維護成本。動態語言&#xff08;如 Python、Node.js&#xff09;部署快、開發靈活&#xff1b;靜態語言&#xff08;如 Go、Java、Rust&#xff09;性能強、類型…

我的VSCode中那些插件

前言 最近在研究VUE.JS&#xff0c;而VUE官方推薦使用VSCode作為開發工具&#xff0c;因此最近才開始大量使用這個工具。在使用過程中&#xff0c;總會遇到一些視頻博主推薦某某插件&#xff0c;于是我都將其安裝在我的VSCode上。這里記錄一下&#xff0c;僅供參考。 插件列表…

C# 時間格式日期格式使用合集

一、常用整理 C#時間使用整理,DateTime 使用整理_c#時間格式-CSDN博客 C# 本地時間格式&#xff0c;UTC時間格式&#xff0c;GMT時間格式處理 二、 C#如何獲取今天零點的時間 C# 獲取周一、周日 三、 C#計算兩個時間年份月份差 C#時間點字符串轉換為日期&#xff0c;當…

Ribbon負載均衡的具體實現原理

Ribbon 是 Netflix 開源的一款客戶端負載均衡工具&#xff0c;廣泛應用于微服務架構中&#xff0c;用于在客戶端選擇目標服務實例。 以下是 Ribbon 負載均衡的具體實現原理&#xff1a; 1. 什么是 Ribbon Ribbon 是一個客戶端負載均衡器&#xff0c;負責從服務注冊中心&#…