尺取法 詳解優化

2021-10-08 03:37:56 字數 698 閱讀 5899

顧名思義,尺取法就是想尺子一樣,一次取出一段區間;尺取法的通常用法都是選取兩個左右下標(l,r);然後根據實際情況更改左右下標。

題意:給定乙個序列n,找出最短的子串行長度,使得其和大於或等於m。

輸入:

----

----

----

-------

n =10,m =155

13510

7492

8======

====

====

====

====

====

==輸出

----

----

----

-------

2

思路:一開始根據條件確定區間的左右下標,然後根據題目的條件更改下標;

while(1

)//區間和不大於m,終止

if(sumbreak

;

ans=ans< r-l ? ans: r-l;

//左下標右移一位;

sum-

=num[l++];

}

一般來說是需要區間始終滿足一定條件,比如長度不變,或者區間和在一定範圍內;

尺取法(雙指標法)詳解

這節課我們來講尺取法思想。上課!首先,所謂尺取法,是列舉區間的時候的一種優化思想。我們顧名思義地理解,就像是在乙個數軸上,用尺慢慢地取。用比較學術的話來講,就是取一對陣列下標 即區間左右端點 根據題目要求和實際情況不斷地推進左右區間得出答案。你可能會說,這不就是暴力列舉麼?是的,不過它在處理區間的時...

演算法 尺取法

我們先來介紹一下尺取法。尺取法,顧名思義,像尺子一樣,一塊一塊的擷取。題目翻譯 給定長度為n的數列整數a0,a1,a2,a3 an 1以及整數s。求出綜合不小於s的連續子串行的長度的最小值。如果解不存在,則輸出0。限制條件 100s 10 8 這裡我們拿第一組測試資料舉例子,即 n 10,s 15,...

尺取法練習

mr wolfram 的csdn 部落格 hopeforbetter的csdn部落格,尺取法顧名思義就像尺子一樣,當測量乙個物體時,你不一定從開始的位置測量,你可以從任意乙個位置st開始,當然前提是尺子夠長,然後你再讀出尾部en的數,尾部減去開始的位置en st,就是這個物體的長度。尺取法就是這個思...