【LeetCode】【209】長度最小的子數組(1488字)

文章目錄

    • @[toc]
      • 題目描述
      • 樣例輸入輸出與解釋
        • 樣例1
        • 樣例2
        • 樣例3
      • 提示
      • 進階
      • Python實現
        • 前綴和+二分查找
        • 滑動窗口

因上努力

個人主頁:丷從心·

系列專欄:LeetCode

刷題指南:LeetCode刷題指南

果上隨緣


題目描述

  • 給定一個含有n個正整數的數組和一個正整數target
  • 找出該數組中滿足其總和大于等于target的長度最小的連續子數組[numsl, numsl+1, ..., numsr-1, numsr],并返回其長度
  • 如果不存在符合條件的子數組,返回0

樣例輸入輸出與解釋

樣例1
  • 輸入:target = 7nums = [2,3,1,2,4,3]
  • 輸出:2
  • 解釋:子數組[4,3]是該條件下的長度最小的子數組
樣例2
  • 輸入:target = 4nums = [1,4,4]
  • 輸出:1
樣例3
  • 輸入:target = 11nums = [1,1,1,1,1,1,1,1]
  • 輸出:0

提示

  • 1 <= target <= 10^9
  • 1 <= nums.length <= 10^5
  • 1 <= nums[i] <= 10^5

進階

  • 如果已經實現O(n)時間復雜度的解法,嘗試設計一個O(nlog(n))時間復雜度的解法

Python實現

前綴和+二分查找
class Solution:def minSubArrayLen(self, s: int, nums: List[int]) -> int:n = len(nums)res = n + 1sums = [0]for i in range(n):sums.append(sums[-1] + nums[i])for i in range(1, n + 1):target = sums[i - 1] + sbound = bisect.bisect_left(sums, target)if bound != len(sums):res = min(res, bound - (i - 1))return res if res != n + 1 else 0
滑動窗口
class Solution:def minSubArrayLen(self, target: int, nums: List[int]) -> int:n = len(nums)res, sum = n + 1, 0start, end = 0, 0while end < n:sum += nums[end]while sum >= target:res = min(res, end - start + 1)sum -= nums[start]start += 1end += 1return res if res != n + 1 else 0

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

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

相關文章

Effective C++(2)

文章目錄 2. 構造、析構、賦值運算條款05&#xff1a;了解C默默編寫并調用哪些函數條款06&#xff1a;若不想使用編譯器自動生成的函數&#xff0c;就該明確拒絕條款07&#xff1a;為多態基類聲明virtual析構函數條款08&#xff1a;別讓異常逃離析構函數條款09&#xff1a;絕不…

微信小程序報錯:notifyBLECharacteristicValueChange:fail:nodescriptor的解決辦法

文章目錄 一、發現問題二、分析問題二、解決問題 一、發現問題 微信小程序報錯&#xff1a;notifyBLECharacteristicValueChange:fail:nodescriptor 二、分析問題 這個提示有點問題&#xff0c;應該是該Characteristic的Descriptor有問題&#xff0c;而不能說nodescriptor。 …

web前端之解決img元素組件自有高度的問題

MENU 前言解決辦法vertical-align 前言 在HTML和CSS中&#xff0c;img元素默認是行內元素(inline element)&#xff0c;類似于文本。由于文本有基線(baseline)&#xff0c;所以即使是空白的img元素也會占據一定的高度&#xff0c;以便使基線對齊。 解決辦法 要解決這個問題&…

axios如何傳遞數組作為參數,后端又如何接收呢????

前端的參數是一個數組。 前端編寫&#xff1a; 后端接收&#xff1a;

Iterater迭代器和增強for循環

1、Collection接口遍歷元素—Iterator迭代器 看一下下面這張圖片&#xff1a;可以看出Collection接口有一個父接口Iterable&#xff0c;Iterable接口有一個iterator()方法&#xff0c;iterator()方法的類型是Iterator迭代器&#xff0c;實際上當我們使用方法時&#xff0c;返回…

Go語言的pprof工具是如何使用的?

文章目錄 Go語言的pprof工具詳解pprof的使用runtime/pprofnet/http/pprof 快速開始獲取采樣數據通過pprof工具進行性能分析總結 Go語言的pprof工具詳解 Go語言作為一個高性能、高并發的編程語言&#xff0c;對性能優化有著極高的要求。在Go語言的標準庫中&#xff0c;pprof是一…

linux 安全 iptables防火墻 (一)

Linux包過濾防火墻概述 Linux 系統的防火墻 &#xff1a;IP信息包過濾系統&#xff0c;它實際上由兩個組件netfilter 和 iptables組成。 主要工作在網絡層&#xff0c;針對IP數據包。體現在對包內的IP地址、端口、協議等信息的處理上。 兩大組件 netfilter內核組件 iptables應…

blender安裝cats-blender-plugin-0-19-0插件,導入pmx三維模型

UE5系列文章目錄 文章目錄 UE5系列文章目錄前言一、Blender安裝二、cats-blender-plugin-0-19-0插件下載三、下載bmp文件四、在blender2.93中安裝cats-blender-plugin-0-19-0插件 前言 blender本身不支持pmx三維模型&#xff0c;需要用到cats-blender-plugin-0-19-0插件。 一…

構建全面的無障礙學習環境:科技之光,照亮學習之旅

在信息與科技日益發展的當下&#xff0c;為所有人群提供一個包容和平等的學習環境顯得尤為重要&#xff0c;特別是對于盲人朋友而言&#xff0c;無障礙學習環境的構建成為了一項亟待關注與深化的課題。一款名為“蝙蝠避障”的輔助軟件&#xff0c;以其創新的設計理念與實用功能…

Offline RL : Context-Former: Stitching via Latent Conditioned Sequence Modeling

paper 基于HIM的離線RL算法&#xff0c;解決基于序列模型的離線強化學習算法缺乏對序列拼接能力。 Intro 文章提出了ContextFormer&#xff0c;旨在解決決策變換器&#xff08;Decision Transformer, DT&#xff09;在軌跡拼接&#xff08;stitching&#xff09;能力上的不足…

新定義單片機的說明

新定義的官網是https://www.rdsmcu.com/shop/#/,主要經營的是1T系列的51單片機&#xff0c;之前從他們官網上申請了評估板&#xff0c;自己頁玩了一段時間&#xff0c;不過玩的不多&#xff0c;特開此專欄記錄學習過程&#xff0c;并幫助剛入門的道友快速上手。 我申請的是評估…

DQL(數據查詢)

目錄 1. DQL概念 2. DQL - 編寫順序 3. 基礎查詢 3.1 查詢多個字段 3.2 字段設置別名 3.3 去除重復記錄 3.4 案例 4. 條件查詢 4.1 語法 4.2 條件 4.3 案例&#xff1a; 5. 聚合函數 5.1 常見的聚合函數&#xff1a; 5.2 語法 5.3 案例&#xff1a; 6. 分組查…

VScode SSH連接遠程服務器報錯

一、報錯 通過VScode SSH插件遠程連接服務器&#xff0c;輸入密碼后沒有連接成功&#xff0c;一直跳出輸入密碼界面&#xff0c;在輸出界面里&#xff0c;一直是Waiting for server log或者是顯示Cannot not find minimist 二、處理 &#x1f431;&#xff1a; 這個時候應該…

力扣每日一題 5/25

題目&#xff1a; 給你一個下標從 0 開始、長度為 n 的整數數組 nums &#xff0c;以及整數 indexDifference 和整數 valueDifference 。 你的任務是從范圍 [0, n - 1] 內找出 2 個滿足下述所有條件的下標 i 和 j &#xff1a; abs(i - j) > indexDifference 且abs(nums…

CTF網絡安全大賽web題目:字符?正則?

題目來源于&#xff1a;bugku 題目難度&#xff1a;難 題目描  述: 字符&#xff1f;正則&#xff1f; 題目htmnl源代碼&#xff1a; <code><span style"color: #000000"> <span style"color: #0000BB"><?php <br />highl…

C-數據結構-鏈式存儲棧(二次封裝)

/* 二次封裝 借用已經實現雙向鏈表結構來實現 棧 出棧入棧操作類似于 從頭節點開始的插入和刪除 */ llist.h #ifndef LLIST_H__ #define LLSIT_H__ #define LLIST_FORWARD 1 #definr LLIST_BACKWARD 2 typedef void llist_op(const void *);//回調函數 typedef int llist_cmp…

分組排序取最大sql理解

分組排序取最大sql理解 --用戶過濾&#xff08;只能看到當前用戶對應部門用戶權限表中的部門&#xff09; select h.pk_tbdept from jygyl_bmyhqxb h left join jygyl_bmyhqxb_b b on h.pk_bmyhqx b.pk_bmyhqx where isnull(h.dr,0) 0 and isnull(b.dr,0) 0 and b.pk…

類圖的六大關系

類圖中的六大關系包括&#xff1a;繼承關系、實現關系、關聯關系、聚合關系、組合關系和依賴關系。 1. 繼承關系 繼承是一種類與類之間的關系&#xff0c;表示一種泛化和特化的關系。子類繼承父類的特性和行為。 class Animal {void eat() {System.out.println("This an…

TensorFlow.js

什么是 TensorFlow.js&#xff1f; TensorFlow.js 是一個基于 JavaScript 的機器學習庫&#xff0c;它是 Google 開發的 TensorFlow 的 JavaScript 版本。它使得開發者能夠在瀏覽器中直接運行機器學習模型&#xff0c;而不需要依賴于后端服務器或云服務。TensorFlow.js 的主要…

【JavaEE 初階(十)】JVM

?博主主頁: 33的博客? ??文章專欄分類:JavaEE?? &#x1f69a;我的代碼倉庫: 33的代碼倉庫&#x1f69a; &#x1faf5;&#x1faf5;&#x1faf5;關注我帶你了解更多進階知識 目錄 1.前言2.JVM內存區域劃分3.類加載3.1雙親委派模型 4.垃圾回收&#xff08;GC&#xff0…