【動態規劃系列】子數組的最大和

💝💝💝歡迎來到我的博客,很高興能夠在這里和您見面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內容和知識,也可以暢所欲言、分享您的想法和見解。
img

  • 推薦:kwan 的首頁,持續學習,不斷總結,共同進步,活到老學到老
  • 導航
    • 檀越劍指大廠系列:全面總結 java 核心技術點,如集合,jvm,并發編程 redis,kafka,Spring,微服務,Netty 等
    • 常用開發工具系列:羅列常用的開發工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 數據庫系列:詳細總結了常用數據庫 mysql 技術點,以及工作中遇到的 mysql 問題等
    • 懶人運維系列:總結好用的命令,解放雙手不香嗎?能用一個命令完成絕不用兩個操作
    • 數據結構與算法系列:總結數據結構和算法,不同類型針對性訓練,提升編程思維,劍指大廠

非常期待和您一起在這個小小的網絡世界里共同探索、學習和成長。💝💝💝 ?? 歡迎訂閱本專欄 ??

博客目錄

    • 一.題目描述
      • 1.題目信息
      • 2.示例
      • 3.提示
    • 二.題解
      • 1.動態規劃解決
      • 2.解題思路
      • 3.關鍵點
    • 三.自我分析
      • 1.解題思路
      • 2.思考鏈路

一.題目描述

1.題目信息

題目地址

給你一個整數數組 nums ,請你找出一個具有最大和的連續子數組(子數組最少包含一個元素),返回其最大和。

子數組 是數組中的一個連續部分。

2.示例

示例 1:

輸入:nums = [-2,1,-3,4,-1,2,1,-5,4]
輸出:6
解釋:連續子數組 [4,-1,2,1] 的和最大,為 6 。

示例 2:

輸入:nums = [1]
輸出:1

示例 3:

輸入:nums = [5,4,-1,7,8]
輸出:23

3.提示

提示:

  • 1 <= nums.length <= 105
  • -104 <= nums[i] <= 104

二.題解

1.動態規劃解決

public class LC_01_maxSubArray_53 {public int maxSubArray(int[] nums) {final int len = nums.length;int[] dp = new int[len];dp[0] = nums[0];int res = nums[0];for (int i = 1; i < len; i++) {dp[i] = Math.max(dp[i - 1] + nums[i], nums[i]);//更新最大值res = Math.max(res, dp[i]);}return res;}
}

2.解題思路

  1. 第一眼看到很懵逼
  2. 看了別人的題解,發現要找當前的數是否在結果里面
  3. 假定當前的數是在結果里面,并且是最后一個數
  4. 比較每個最后一個數的最大值

3.關鍵點

  • 子問題 1:以 ?2 結尾的連續子數組的最大和是多少;

  • 子問題 2:以 1 結尾的連續子數組的最大和是多少;

  • 子問題 3:以 ?3 結尾的連續子數組的最大和是多少;

  • 子問題 4:以 4 結尾的連續子數組的最大和是多少;

  • 子問題 5:以 ?1 結尾的連續子數組的最大和是多少;

  • 子問題 6:以 2 結尾的連續子數組的最大和是多少;

  • 子問題 7:以 1 結尾的連續子數組的最大和是多少;

  • 子問題 8:以 ?5 結尾的連續子數組的最大和是多少;

  • 子問題 9:以 4 結尾的連續子數組的最大和是多少。

三.自我分析

1.解題思路

if 有思路開寫
else去看相關標簽,確定具體解題方法if 有思路開寫else看提示信息if 有思路開寫else看答案

2.思考鏈路

  • 沒有思路
  • 多做,多思考
  • 形成自己的肌肉記憶

覺得有用的話點個贊 👍🏻 唄。
??????本人水平有限,如有紕漏,歡迎各位大佬評論批評指正!😄😄😄

💘💘💘如果覺得這篇文對你有幫助的話,也請給個點贊、收藏下吧,非常感謝!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且長,行則將至,讓我們一起加油吧!🌙🌙🌙

img

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

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

相關文章

自動化測試框架需要具備哪些功能?

我們經常聽說使用了某某框架&#xff0c;那框架究竟是什么呢&#xff1f;框架有什么優勢和功能&#xff1f; 什么是自動化框架 自動化框架是包含了自動化測試的組織、執行、監控以及報告等流程的工具&#xff0c;是由多個工具、庫、模塊和API等組成的工具集。自動化框架的目標…

線性代數入門與學習筆記

該內容為重拾部分線性代數知識的學習筆記&#xff0c;內容上更多的是為了解決問題而學習的內容&#xff0c;并非系統化的學習。 針對的問題為&#xff1a;Music算法推導求解過程中的矩陣計算知識。 學習的內容包括&#xff1a;矩陣原理、矩陣行列式、矩陣的秩、線性變換矩陣變換…

我的創作紀念日——多線程進階分享

多線程-進階 1. 鎖的策略 1.1 樂觀鎖&悲觀鎖 樂觀鎖 預計在線程中數據大概率不會被其他線程拿去修改 對于加鎖所作的準備較少。只有當修改的操作真正發生了&#xff0c;才會進行加鎖操作 所以樂觀鎖適用于多讀少寫的情況&#xff0c;可以降低加鎖頻率&#xff0c;提升效…

C++初學教程四

一、程序設計 程序設計的三種基本結構:順序、選擇、循環 選擇結構(也叫分支結構) :判斷所指定的條件是否滿足,決定從給定的兩組或多組操作選擇其中的一種。 計算機的判斷是通過對表達式的計算來實現,也就是關系運算、邏輯運算。 用語句來體現就是if語句和switch語句。 一…

繼承與派生(2)

1.派生類的權限&#xff1a;派生類的成員函數可以訪問基類的public和protected類型的成員&#xff0c;而派生類的對象只能訪問public類型的成員 2.創建順序&#xff08;先創造后析構&#xff09;&#xff1a;基類函數&#xff0c;派生類函數&#xff0c;組合類函數 類的組合按…

每日一練 | 華為認證真題練習Day145

1、一臺路由器通過RIP、OSPF和靜態路由都學習到了到達同一目的地址的路由。默認情況下&#xff0c;VRP將最終選擇通過哪種協議學習到的路由&#xff1f; A. 三種協議學習到的路由都選擇 B. 靜態路由 C. OSPF D. RIP 2、如果網絡管理員沒有配置骨干區域&#xff0c;則路由器…

VUE+THREE.JS 點擊模型相機緩入查看模型相關信息

點擊模型相機緩入查看模型相關信息 1.引入2.初始化CSS3DRenderer3.animate 加入一直執行渲染4.點擊事件4.1 初始化renderer時加入監聽事件4.2 觸發點擊事件 5. 關鍵代碼分析5.1 移除模型5.2 創建模型上方的彈框5.3 相機緩入動畫5.4 動畫執行 1.引入 引入模型所要呈現的3DSprite…

Dexie 查詢sql速度優化

Dexie查詢速度慢的原因主要一個優化點是復雜查詢下的count執行。 以下摘自Dexie官方文檔&#xff1a;https://dexie.org/docs/Collection/Collection.count() If executed on simple queries, the native IndexedDB ObjectStore count() method will be called (fast execution…

對標Gen-2!Meta發布新模型,進軍文生視頻賽道

隨著擴散模型的飛速發展&#xff0c;誕生了Midjourney、DALLE 3、Stable Difusion等一大批出色的文生圖模型。但在文生視頻領域卻進步緩慢&#xff0c;因為文生視頻多數采用逐幀生成的方式,這類自回歸方法運算效率低下、成本高。 即便使用先生成關鍵幀,再生成中間幀新方法。如…

Flink Window中典型的增量聚合(ReduceFunction / AggregateFunction)

一、什么是增量聚合函數 在Flink Window中定義了窗口分配器&#xff0c;我們只是知道了數據屬于哪個窗口&#xff0c;可以將數據收集起來了&#xff1b;至于收集起來到底要做什么&#xff0c;其實還完全沒有頭緒&#xff0c;這也就是窗口函數所需要做的事情。所以在窗口分配器…

聽GPT 講Rust源代碼--src/tools(9)

File: rust/src/tools/rust-analyzer/crates/ide-assists/src/handlers/apply_demorgan.rs 在Rust源代碼中&#xff0c;apply_demorgan.rs文件位于rust-analyzer工具的ide-assists庫中&#xff0c;其作用是實現一個輔助函數&#xff0c;用于在代碼中應用De Morgan定律的變換。 …

Android : 籃球記分器app _簡單應用

示例圖&#xff1a; 1.導包 在build.gradle 中 加入 // 使用androidx版本庫implementation androidx.lifecycle:lifecycle-extensions:2.1.0-alpha03 2. 開啟dataBinding android{...// 步驟1.開啟data bindingdataBinding {enabled true}...} 3.寫個類繼承 ViewModel pac…

整數與IP地址間的轉換

原理&#xff1a;ip地址的每段可以看成是一個0-255的整數&#xff0c;把每段拆分成一個二進制形式組合起來&#xff0c;然后把這個二進制數轉變成一個長整數。 舉例&#xff1a;一個ip地址為10.0.3.193 每段數字相對應的二進制數 10 00001010 0 00000000 3 00000011 193 110000…

自下而上-存儲全棧(TiDB/RockDB/SPDK/fuse/ceph/NVMe/ext4)存儲技術專家成長路線

數字化時代的到來帶來了大規模數據的產生&#xff0c;各行各業都面臨著數據爆炸的挑戰。 隨著云計算、物聯網、人工智能等新興技術的發展&#xff0c;對存儲技術的需求也越來越多樣化。不同應用場景對存儲的容量、性能、可靠性和成本等方面都有不同的要求。具備存儲技術知識和技…

機器學習-聚類問題

前言 聚類算法又叫做”無監督分類“&#xff0c;目標是通過對無標記訓練樣本來揭示數據的內在性質及 規律&#xff0c;為進一步的數據分析提供基礎。 Kmeans 作為聚類算法的典型代表&#xff0c;Kmeans可以說是最簡單的聚類算法&#xff0c;沒有之一&#xff0c;那她是怎么完…

MySQL為何偏愛B+樹索引

一、MySQL、B樹概念 MySQL是一種關系型數據庫&#xff0c;它使用SQL語言來操作數據。SQL語言可以實現對數據的增刪改查等操作&#xff0c;但是如果數據量很大&#xff0c;那么這些操作的效率就會很低。為了提高效率&#xff0c;MySQL引入了索引的概念。 索引是一種數據結構&am…

人體關鍵點檢測1:人體姿勢估計數據集

人體關鍵點檢測1&#xff1a;人體姿勢估計數據集 目錄 人體關鍵點檢測1&#xff1a;人體姿勢估計數據集 1.人體姿態估計 2.人體姿勢估計數據集 &#xff08;1&#xff09;COCO數據集 &#xff08;2&#xff09;MPII數據集 &#xff08;3&#xff09;Human3.6M &#xf…

PostgreSQL 主鍵和唯一鍵的區別

主鍵和唯一鍵的區別 主鍵&#xff08;Primary Key&#xff09;&#xff1a; 主鍵是用于唯一標識表中的每一條記錄的鍵。主鍵必須是唯一的&#xff0c;不允許為空。一個表只能有一個主鍵。主鍵可以由一個或多個字段組成。主鍵的值在整個表中必須是唯一的&#xff0c;用于確保數據…

編譯器:swc 究竟比 babel 快在哪里?

前言 swc 與 babel 都是 JavaScript 編譯器&#xff0c;它們的主要功能是將 ES2015 以及 TypeScript, Flow, JSX 等語法轉換為瀏覽器或環境中的向后兼容的 JavaScript 代碼。 哪里快了&#xff1f; 1. 開發語言的優勢 swc 是用 Rust 語言開發的&#xff0c;而 babel 是用 Java…

MS5228/5248/5268:2.7V 到 5.5V、 12/14/16Bit、內置基準、八通道數模轉換器

MS5228/MS5248/MS5268 是一款 12/14/16bit 八通道輸出的電壓型 DAC &#xff0c;內部集成上電復位電路、可選內部基準、接口采用四線串口模式&#xff0c; 最高工作頻率可以到 40MHz &#xff0c;可以兼容 SPI 、 QSPI 、 DSP 接口和 Microwire 串口。輸出接到一個 …