滿足要求的連續子串行個數(大疆)

2021-08-07 16:23:38 字數 957 閱讀 3089

給出n個數,要求找出序列中有多少個連續子串行滿足一下要求:子串行中任意乙個數字出現的次數小於k

輸入:

第一行輸入n和k,然後輸入n個數字

輸出:

滿足要求的子串行個數

樣例輸入:

4 1

1 2 2 3

輸出

6
此題可用查詢表+滑動視窗解決,考察子串[i..j]是否滿足要求,d[j]中記錄以j結尾的最長子串長度,其實這個長度也就是以j結尾的滿足要求的子串個數。最後將d[0]到d[n-1]加起來即為題目所求,其他分析詳見**:

#include 

#include

#include

#include

using

namespace

std;

int test()

unordered_map

hash;

std::vector

dp(count, 0); //

// 考慮子串[i..j]是否滿足條件,d[j]表示以索引為j結尾的最大子串長度,也是以j結尾的子串個數

for (int i = 0, j = 0; j < count && i < count; j++)

dp[j] = j - i + 1; // 再次滿足條件,儲存下長度}}

int sum = 0;

for (int i = 0; i < dp.size(); i++)

sum += dp[i];

cout

<< sum << endl;

return exit_success;

}

4 2

1 2 2 3

10請按任意鍵繼續. . .

VBA自定義函式 計數滿足要求的單元格數量

同事要求幫忙,做乙個計數需求,統計單元格內容中包含 至少有兩個或者合格的數量。單元格裡內容有 合格等,如下圖 這個計數需求是可以用countif函式直接處理,但是同事說公式太長了,容易亂,於是想了想,用vba自定義乙個函式解決,主要思路是通過instr依次查詢單元格內字串中是否有 然後相加起來是否大...

子串行的個數

龐果網題目 子串行的定義 對於乙個序列a a 1 a 2 a n 則非空序列a a p1 a p2 a pm 為a的乙個子串行,其中1 p1 還是靠動態規劃 設f k 為前k個數的子串行數目,則f 0 1 f k 與f k 1 有什麼關係呢?例如序列,k 2時的子串行有 0 1 2 01 02 12...

子串行的個數

子串行的定義 對於乙個序列a a 1 a 2 a n 則非空序列a a p1 a p2 a pm 為a的乙個子串行,其中1 p1例如4,14,2,3和14,1,2,3都為4,13,14,1,2,3的子串行。對於給出序列a,有些子串行可能是相同的,這裡只算做1個,請輸出a的不同子串行的數量。由於答案比...