解決問題 有幾個bing

2021-06-20 11:55:19 字數 695 閱讀 5764

偶然間在csdn英雄會中看到了乙個這樣的題目:

例如有乙個字串"iinbinbing",擷取不同位置的字元『b』、『i』、『n』、『g』組合成單詞"bing"。若從1開始計數的話,則『b』 『i』 『n』 『g』這4個字母出現的位置分別為(4,5,6,10) (4,5,9,10),(4,8,9,10)和(7,8,9,10),故總共可以組合成4個單詞」bing「。

咱們的問題是:現給定任意字串,只包含小寫『b』 『i』 『n』 『g』這4種字母,請問一共能組合成多少個單詞bing?

字串長度不超過10000,由於結果可能比較大,請輸出對10^9 + 7取餘數之後的結果。 

條件分析:

1. 要滿足組成單詞的條件為 在字串中,『b』要在『i』前,『i』要在『n』前,'n' 要在 『g』前

2. 字元可以重複使用

問題分析:

此問題可以轉換為圖的遍歷問題

1. 組成bing可以表示為('b',pos1)->('i',pos2)->('n',pos3)->('g',pos4)  pos1

2. 從字元中篩選出各個位置的『b』,'i','n','g',組成有向圖,以「iinbinbing」為例,繪製有向圖如圖1

去除單獨的節點,並給'b'節點新增乙個起始節點得到圖2

圖1  圖2

3. 通過統計從起始節點start到字元為『g』節點的路徑總數,可以得出問題得結果:bing的個數

工作解決問題

tinyxml的使用 參考 4.oracle的寫滿的問題 ora 01691 unable to extend lob segment 原文如下 4.1查詢表空間使用情況 select total.name tablespace name filepath,free space,total spac...

怎樣解決問題

1.理解問題,你必須理解要解決的問題 問題是什麼?條件是什麼?資料是什麼?有可能滿足條件嗎?已知條件足以確定未知嗎 已知條件是否不夠充分?是夠矛盾?是否冗餘?2.設計乙個方案 找到已知資料和未知之間的關係。若不能找出直接聯絡的話,你可能不考慮一些輔助問題,但最後,你應該找到乙個解決方案。以前是否遇到...

解決問題能力

我們會不定期遇到很多問題,諸如從 我的電腦為什麼鎖住了 到 伺服器為什麼這麼慢 等一系列問題。如何解決這些問題,是區分優秀專業人士和一般專業人員的標準。問題解決方法學 1.對問題進行明確的描述 2.做出假設 3.進行 4.驗證假設。5.分析結果。該方 可以應用到我所遇到的問題之上嗎?當然可以。對問題...