Re: [問題] 一個演算法相關的問題
拍謝
請問一下
只用頭尾來判斷的 O(N+M) 哪裡有錯??
就算pattern 不是長成 X - - - X 也還是可以用吧
所謂頭尾是pattern 裡面第一個出現 'X'的位置跟最後一個出現'X'的位置
例如說 pattern = - - X - X - - X - - - X - - -
則 X(頭) = 2(從0開始)
X(尾) = 11
在掃的過程中 只要 看一下match 的位置
然後跟Pattern的index 算一下就可以知道答案了吧
以這個例子X(頭)match 的話就是 現在在Text 上面的位置 -2
X(尾)match 的話就是 -11
這樣掃過去以後唯一會漏掉答案的情況只有在
Text的長度 小於 兩倍的pattern的長度的時候
這時候只要暴力解就好 複雜度也算是 O(M+N) 阿
我不懂這個作法錯在哪裡?
有例外嗎 @@
謝謝:P
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.244.131
→
06/09 20:39, , 1F
06/09 20:39, 1F
→
06/09 20:41, , 2F
06/09 20:41, 2F
→
06/09 20:43, , 3F
06/09 20:43, 3F
→
06/09 20:43, , 4F
06/09 20:43, 4F
→
06/09 20:43, , 5F
06/09 20:43, 5F
→
06/09 20:44, , 6F
06/09 20:44, 6F
→
06/09 20:44, , 7F
06/09 20:44, 7F
→
06/09 20:45, , 8F
06/09 20:45, 8F
→
06/09 20:45, , 9F
06/09 20:45, 9F
→
06/09 20:45, , 10F
06/09 20:45, 10F
→
06/09 20:46, , 11F
06/09 20:46, 11F
→
06/09 20:46, , 12F
06/09 20:46, 12F
→
06/09 20:46, , 13F
06/09 20:46, 13F
→
06/09 20:47, , 14F
06/09 20:47, 14F
→
06/09 20:47, , 15F
06/09 20:47, 15F
→
06/09 20:49, , 16F
06/09 20:49, 16F
→
06/09 20:50, , 17F
06/09 20:50, 17F
推
06/09 22:45, , 18F
06/09 22:45, 18F
→
06/09 23:38, , 19F
06/09 23:38, 19F
推
06/10 07:42, , 20F
06/10 07:42, 20F
→
06/10 07:54, , 21F
06/10 07:54, 21F
討論串 (同標題文章)
完整討論串 (本文為第 4 之 4 篇):
問題
13
83