13--長度最小的子數組

文章目錄

  • 1.題目要求
  • 2.解題代碼

1.題目要求

給定一個含有 n 個正整數的數組和一個正整數 s ,找出該數組中滿足其和 ≥ s 的長度最小的連續子數組,并返回其長度。如果不存在符合條件的連續子數組,返回 0。

示例:

輸入:s = 7, nums = [2,3,1,2,4,3]
輸出:2
解釋:子數組 [4,3] 是該條件下的長度最小的連續子數組。

2.解題代碼

定義兩個指針 start 和 end 分別表示子數組的開始位置和結束位置,維護變量sum 存儲子數組中的元素和(即從 nums[start] 到 nums[end] 的元素和)。

初始狀態下,start 和 end 都指向下標 0,sum 的值為 0。

每一輪迭代,將nums[end] 加到sum,如果sum≥s,則更新子數組的最小長度(此時子數組的長度是end?start+1),然后將nums[start] 從sum 中減去并將start 右移,直到sum<s,在此過程中同樣更新子數組的最小長度。在每一輪迭代的最后,將end 右移。

class Solution:def minSubArrayLen(self, s: int, nums: List[int]) -> int:# 雙指針# 如果數組為0,則返回0if not nums:return 0# 初始化參數n = len(nums)ans = n+1start, end = 0, 0total = 0while end < n:total += nums[end]while total >= s:ans = min(ans, end - start + 1)total -= nums[start]start += 1end += 1return 0 if ans == n+1 else ans 

在這里插入圖片描述

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

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

相關文章

HttpServletRequest 常用方法講解

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Web服務器收到一個http請求&#xff0c;會針對每個請求創建一個HttpServletRequest和HttpServletResponse對象&#xff0c; 從客戶端取…

object中的toString方法

任何一個類都是從Object類繼承下來的&#xff0c;因此在任何一個類里面都可以重寫這個toString()方法。toString()方法的作用是當一個引用對象和字符串作連接的時候&#xff0c;或者是直接打印這個引用對象的時侯&#xff0c;這個引用對象都會自動調用toString()方法&#xff0…

東網科技榮膺2016中國大數據最佳實踐獎

11月24日&#xff0c;由中國軟件網主辦的數據趴活動圓滿落幕&#xff0c;活動現場隆重揭曉了大數據領域的重磅榜單&#xff0c;旨在對大數據領域中表現突出的企業、人物進行表彰。東網科技有限公司(以下簡稱“東網科技”)憑借大數據運營支撐平臺及在環保、煙草、教育、政府等行…

Apache Subversion 1.7.2發布,開源版本控制工具

SVN&#xff08;Subversion&#xff09;已經發布了1.7的第二個維護版本。 Apache Subversion是一個開放源碼、多用戶的版本控制系統&#xff0c;支持非 ASCII 文本和二進制數據&#xff0c;支持可在本地訪問或通過網絡訪問的數據庫和文件系統存儲庫。相對于傳統的RCS、CVS&…

react生命周期

1、初始化getDefaultProps()設置默認的props&#xff0c;也可以用dufaultProps設置組件的默認屬性。 getInitialState()在使用es6的class語法時是沒有這個鉤子函數的&#xff0c;可以直接在constructor中定義this.state。此時可以訪問this.propscomponentWillMount()在組件初始…

14--用兩個棧實現隊列

文章目錄1.題目詳情2.解題代碼1.題目詳情 用兩個棧實現一個隊列。隊列的聲明如下&#xff0c;請實現它的兩個函數 appendTail 和 deleteHead &#xff0c;分別完成在隊列尾部插入整數和在隊列頭部刪除整數的功能。(若隊列中沒有元素&#xff0c;deleteHead 操作返回 -1 ) 示例…

淺談爬蟲 《一》 ===python

淺談爬蟲 《一》 python ‘’正文之前先啰嗦一下&#xff0c;準確來說&#xff0c;在下還只是一個剛入門IT世界的菜鳥&#xff0c;工作近兩年了&#xff0c;之前做前端的時候就想寫博客來著&#xff0c;現在都轉做python了&#xff0c;如果還不開始寫點什么&#xff0c;估計時間…

Servlet全面講解

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。Servlet&#xff08;Server Applet&#xff09;&#xff0c;全稱Java Servlet。是用Java編寫的服務器端程序。Servlet 是在服務器上運行的…

你的代碼可以是優雅的,但是還有更重要的

引用軟件設計有兩種方法&#xff1a;一種是盡可能地簡單&#xff0c;這種設計明顯沒有什么缺陷&#xff1b;另一種是盡可能地復雜&#xff0c;這種設計沒有明顯的缺陷。 ——C.A.R. Hoare&#xff0c;1980年圖靈獎講座在開發過程中&#xff0c;我的口頭禪是&#xff1a; Your c…

15--0~n-1中缺失的數字

文章目錄1. 問題描述2. 解題代碼1. 問題描述 一個長度為n-1的遞增排序數組中的所有數字都是唯一的&#xff0c;并且每個數字都在范圍0&#xff5e;n-1之內。在范圍0&#xff5e;n-1內的n個數字中有且只有一個數字不在該數組中&#xff0c;請找出這個數字。 示例 1: 輸入: [0,…

如何在README中使用圖片

將圖片放在倉庫里面&#xff0c;在文件里鏈接它&#xff0c;最后 push 到 github 上。 github 圖片鏈接格式&#xff1a; (http://github.com/yourname/your-repository/raw/master/images-folder/xxx.png) 要自己設定的&#xff1a;yourname, your-repository, your-folder…

Unity中傳入任意數,轉換成分,秒,并進行倒計時換算..(兩種方式)

第一種方式是利用Unity中的協程,代碼如下: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;public class DemoTest : MonoBehaviour {public Text text;//測試用的數字public int MyTime 60;void Start (){//開啟協程…

內核編程小結(引用)

https://www.cnblogs.com/fanling999/p/4509785.html轉載于:https://www.cnblogs.com/endenvor/p/9006507.html

JIRA 5.0.1 發布

Atlassian公司發布了JIRA 5.0.1版本&#xff0c;該版本相比JIRA 5.0有更多改進功能。1. 管理界面的改進 將更多頁面管理轉為對話框形式。例如點擊頁面右上方的“Add New”就可實現新增issue types、sub-tasks、field configurations 、screens。2. 性能改進 解決了基于Lucene 3…

java開啟新線程的三種方法

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 方式1&#xff1a;繼承Thread類 步驟: 1):定義一個類A繼承于Java.lang.Thread類. 2):在A類中覆蓋Thread類中的run方法. 3):我們在ru…

16 --刪除排序數組中的重復項

文章目錄1.問題描述2.代碼實現1.問題描述 給定一個排序數組&#xff0c;你需要在 原地 刪除重復出現的元素&#xff0c;使得每個元素只出現一次&#xff0c;返回移除后數組的新長度。 不要使用額外的數組空間&#xff0c;你必須在 原地 修改輸入數組 并在使用 O(1) 額外空間的…

jquery評分效果Rating精華版

參考&#xff1a;https://blog.csdn.net/bluceyoung/article/details/8573629轉載于:https://www.cnblogs.com/yingyigongzi/p/9400489.html

NVIDIA助力SiemensPLMSoftware“工業4.0創新實驗室”,攜手推進中國制造創新之路

今日&#xff0c;NVIDIA宣布為SiemensPLMSoftware在北京建成的“工業4.0創新實驗室”提供了支持。該實驗室配備SiemensPLMSoftware全面的產品生命周期管理解決方案&#xff0c;結合第三方硬件&#xff0c;向中國制造企業展示“數字化企業”的全景圖。實驗室的工作站全部配備NVI…

java中的native方法

一. 什么是Native Method簡單地講&#xff0c;一個Native Method就是一個java調用非java代碼的接口。一個Native Method是這樣一個java的方法&#xff1a;該方法的實現由非java語言實現&#xff0c;比如C。這個特征并非java所特有&#xff0c;很多其它的編程語言都有這一機制&a…

17--合并兩個有序數組

文章目錄1.問題描述2.代碼實現1.問題描述 給你兩個有序整數數組 nums1 和 nums2&#xff0c;請你將 nums2 合并到 nums1 中&#xff0c;使 nums1 成為一個有序數組。 說明: 初始化 nums1 和 nums2 的元素數量分別為 m 和 n 。 你可以假設 nums1 有足夠的空間&#xff08;空間…