Re: [問題] 字串重複比對
※ 引述《aaagang (我...)》之銘言:
: 想要統計三個字串裏面重複的單字
: A:我想要吃牛肉麵,與可樂薯條
: B:我想要吃蕃茄牛肉飯與紅茶
: C:我想要喝可樂就好。
: 最後結果是
: 我想要 3次
: 牛肉 2次
: 可樂 2次
: 一個字或重複不到2次就不統計
: 我知道在字串重頭抓來比對字串就可以做,
: 但總覺得能有更聰明的做法,
: 希望能指導一下!謝謝。
因為自己造輪子,我寫得很長,但如果拆開每個method來看,其實原理很簡單。
只要你能寫出比對一回合的寫法,就可以"重複"比對出第二回合,一直繼續下去。
輸出結果是
我想要
我想要
我想要
牛肉
可樂
牛肉
可樂
其中"我想要"是在第一回合比出來的。
"牛肉"和"可樂"是第二回合比出來的。
所以,如果是四個句子,我的code就需要三回合的比對。
1.首先我重新排列字串,排序依照字元小到大,相等字元再排索引小到大的方式。
2.找出相同的字,因為已經排序過,只需要O(n)的比對。
3.輸出最多重複的字,"我想要"重複二次,是第一回合的最多。
並回傳"吃牛肉與可樂","牛肉","可樂"三個字串。
4.第3點的三個字串帶入相同的method,進行第二回合比對,
"牛肉","可樂"是第二回合的最多。
5.結束。
程式碼: http://pastie.org/2993383
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.242.7
※ 編輯: bleed1979 來自: 114.25.242.7 (12/10 06:55)
討論串 (同標題文章)