牛客18386 字串(尺取法)

2021-10-18 01:52:03 字數 653 閱讀 1870

題目鏈結

分析:

用尺取法來做這道題,有點類似雙指標演算法,兩個指標i,j之間維護的區間內恰好滿足每個最短的26字母,每次有新字元讀入時,若該字元未出現過,則標記數res++,若res==26,則記錄下區間長度,比較選取最短的區間長度,時間複雜度為o(n

)。o(n)。

o(n)

**如下:

#include

#include

#include

#include

#include

using

namespace std;

string str;

int q[

200]

;int

main()

if(ant==

26) res=

min(res,i-j+1)

;}printf

("%d\n"

,res)

;return0;

}

平衡字串 尺取法

乙個長度為 n 的字串 s,其中僅包含 q w e r 四種字元。如果四種字元在字串 現次數均為 n 4,則其為乙個平衡字串。現可以將 s 中連續的一段子串替換成相同長度的只包含那四個字元的任意字串,使其變為乙個平衡字串,問替換子串的最小長度?如果 s 已經平衡則輸出0。input 一行字元表示給定...

平衡字串(替換字串,尺取法)

乙個長度為 n 的字串 s,其中僅包含 q w e r 四種字元。如果四種字元在字串 現次數均為 n 4,則其為乙個平衡字串。現可以將 s 中連續的一段子串替換成相同長度的只包含那四個字元的任意字串,使其變為乙個平衡字串,問替換子串的最小長度?如果 s 已經平衡則輸出0。一行字元表示給定的字串s 乙...

牛客(27)字串的排列

題目描述 輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。輸入描述 輸入乙個字串,長度不超過9 可能有字元重複 字元只包括大小寫字母。public static arraylistp...