查找最短26個(gè)字母字符串:在文本框Text1中輸入任意一串僅包含小寫字母的字符串(長度n>=26),要求找到長度最小的一段區(qū)間,能夠包含全部26個(gè)小寫英文字母。小王設(shè)計(jì)了VB程序用于搜索最短字符串,單擊“查找”按鈕Command1,若無解,則在標(biāo)簽Label1中輸出“無解!”,反之程序在標(biāo)簽Label1中輸出該最小區(qū)間的長度以及字符的開始位置,并在文本框Text2中輸出相應(yīng)的最短字符串,程序界面如圖所示。
查找最短26個(gè)字母字符串的算法可描述為:
(1)確定初始右邊界:從第1個(gè)字符開始,向右搜索到包含全部26個(gè)字母的子串,并因此而確定右邊界,同時(shí)記錄每個(gè)字母在子串中出現(xiàn)過的次數(shù)。
(2)調(diào)整子串左邊界:若左邊界有重復(fù)的字母則表明該子串可縮短,故左邊界可右移1位,……直到找到一個(gè)符合條件的子串并記錄,然后子串左邊界再右移1位。
(3)調(diào)整子串右邊界:子串右邊界繼續(xù)右移,在新子串符合條件后,記錄并進(jìn)行比較。(重復(fù)2)各調(diào)整步驟,直至遍歷完整個(gè)字符串,獲得并輸出滿足條件的最小長度字符串。
實(shí)現(xiàn)上述功能的VB程序如圖,請回答下列問題:
(1)對于字符串“qbwcadsgeqbdatcy”,包括字母abcde的最短字符串長度為77(填數(shù)字)。
(2)請?jiān)跈M線處填入合適的代碼。
【考點(diǎn)】編輯事件處理過程的代碼.
【答案】7
【解答】
【點(diǎn)評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/4/20 14:35:0組卷:0引用:1難度:0.5
相似題
-
1.學(xué)校舉辦了“語文作文現(xiàn)場賽”,參賽同學(xué)成績存儲(chǔ)在文本文件“gra.jye.ai”中,如左圖所示(每一行記錄一位同學(xué)的姓名和成績,以“:”分隔)。陳老師利用Python程序?qū)ψ魑某煽冞M(jìn)行處理,統(tǒng)計(jì)出各個(gè)分?jǐn)?shù)等級(jí)的人數(shù),并輸出結(jié)果。程序運(yùn)行界面如右圖所示。
實(shí)現(xiàn)上述功能的Python程序如下,請?jiān)趧澗€處填入合適的代碼。發(fā)布:2024/12/17 2:0:1組卷:6引用:2難度:0.3 -
2.有如下Python程序段:
執(zhí)行該程序段,輸入字符串“abcdefg”,則輸出的結(jié)果是( ?。?/h2>發(fā)布:2024/12/20 6:30:1組卷:2引用:3難度:0.4 -
3.試題描述的內(nèi)容:
一個(gè)單窗體VB程序的運(yùn)行界面如圖所示。下列說法正確的是( ?。?br />(1)窗體內(nèi)有1個(gè)按鈕
(2)窗體內(nèi)有2個(gè)文本框
(3)窗體內(nèi)有3個(gè)標(biāo)簽
(4)該窗體的標(biāo)題(Caption)屬性值是“加法計(jì)算器”發(fā)布:2024/12/20 20:0:2組卷:1引用:1難度:0.6
把好題分享給你的好友吧~~