Re: [問題] 一個演算法相關的問題
看板Prob_Solve (計算數學 Problem Solving)作者yauhh (喲)時間13年前 (2011/06/09 09:35)推噓8(8推 0噓 41→)留言49則, 9人參與討論串3/3 (看更多)
※ 引述《walker2009 (不害怕。不後悔)》之銘言:
: 想請問一個演算法相關的問題
: 假設我有一段 text, 長度是 n
: 另外還有一段 pattern, 長度是 m
: 其中 n > m
: 我知道說, 在 text 的哪些位置是 character 'X', 共 A 個
: 我也知道, 在 pattern 的哪些位置是 character 'X', 共 B 個
: 我想求, pattern 從 text 的第一個位置滑到最後一個位置時
: 其中哪些位置是 pattern 中的 'X' 有對到 text 中的 'X' 的
: 只要任意一個 X 對到就可以了, 不用全部對到
: 也就是
: find all 1<= i <= n,
: such that for pairs (p[1],t[i]) , (p[2],t[i+1]) , ... , (p[m],t[i+m-1])
: 至少有一個 pair 是 (X,X)
最後這個敘述看不懂,好像所指的pattern可以任意伸縮長度一樣. 不過,不管這個
敘述,看你問題描述,似乎可以反向解:
因為當你講 X--X 這個pattern時,意思其實是 X--- 或 ---X,那就簡單了.
接下來只要從text線性走過,找到每個 X 並把前後四位之內都標出來就是答案.
例如
1 2 3 4 5 6 7 8 9
X X X X
找到 2 標出 2; 找到 4 標出 1,2,4; 找到 5 標出 2,4,5; 找到 9 標出 6.
之後再將重複結果統一即可.
--
/yau
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.66.68
→
06/09 09:41, , 1F
06/09 09:41, 1F
→
06/09 11:05, , 2F
06/09 11:05, 2F
→
06/09 11:05, , 3F
06/09 11:05, 3F
→
06/09 11:06, , 4F
06/09 11:06, 4F
→
06/09 11:06, , 5F
06/09 11:06, 5F
→
06/09 11:06, , 6F
06/09 11:06, 6F
→
06/09 11:43, , 7F
06/09 11:43, 7F
推
06/09 13:04, , 8F
06/09 13:04, 8F
→
06/09 13:18, , 9F
06/09 13:18, 9F
→
06/09 13:19, , 10F
06/09 13:19, 10F
→
06/09 13:19, , 11F
06/09 13:19, 11F
→
06/09 13:19, , 12F
06/09 13:19, 12F
→
06/09 13:19, , 13F
06/09 13:19, 13F
→
06/09 13:28, , 14F
06/09 13:28, 14F
→
06/09 13:29, , 15F
06/09 13:29, 15F
→
06/09 13:30, , 16F
06/09 13:30, 16F
→
06/09 13:32, , 17F
06/09 13:32, 17F
→
06/09 13:35, , 18F
06/09 13:35, 18F
→
06/09 13:38, , 19F
06/09 13:38, 19F
推
06/09 15:58, , 20F
06/09 15:58, 20F
推
06/09 16:38, , 21F
06/09 16:38, 21F
→
06/09 17:19, , 22F
06/09 17:19, 22F
→
06/09 18:15, , 23F
06/09 18:15, 23F
→
06/09 18:17, , 24F
06/09 18:17, 24F
→
06/09 22:55, , 25F
06/09 22:55, 25F
→
06/09 22:55, , 26F
06/09 22:55, 26F
→
06/09 22:58, , 27F
06/09 22:58, 27F
推
06/09 23:33, , 28F
06/09 23:33, 28F
→
06/09 23:33, , 29F
06/09 23:33, 29F
→
06/10 09:35, , 30F
06/10 09:35, 30F
→
06/10 09:36, , 31F
06/10 09:36, 31F
→
06/10 09:37, , 32F
06/10 09:37, 32F
→
06/10 21:17, , 33F
06/10 21:17, 33F
推
06/11 03:19, , 34F
06/11 03:19, 34F
→
06/11 03:19, , 35F
06/11 03:19, 35F
→
06/11 03:20, , 36F
06/11 03:20, 36F
→
06/11 03:20, , 37F
06/11 03:20, 37F
→
06/11 03:21, , 38F
06/11 03:21, 38F
→
06/11 03:21, , 39F
06/11 03:21, 39F
→
06/11 03:21, , 40F
06/11 03:21, 40F
推
06/11 07:14, , 41F
06/11 07:14, 41F
→
06/11 07:15, , 42F
06/11 07:15, 42F
推
06/12 00:44, , 43F
06/12 00:44, 43F
→
06/12 00:45, , 44F
06/12 00:45, 44F
→
06/12 00:45, , 45F
06/12 00:45, 45F
推
06/14 09:08, , 46F
06/14 09:08, 46F
→
06/14 19:54, , 47F
06/14 19:54, 47F
→
06/15 21:45, , 48F
06/15 21:45, 48F
→
06/15 21:46, , 49F
06/15 21:46, 49F
討論串 (同標題文章)
Prob_Solve 近期熱門文章
PTT數位生活區 即時熱門文章