我遇到一個難題:
有兩個陣列 A 跟 B
A 比較小,B 超級大
然後要在 A 裡面找與 B 共有的片段 來拆解 B
例如這樣:
A: AA11BB11CC11DD112A2B2C2D
B: B11CA112DGCDD............
拆解結果:
B11C
A11
2D
G
C
DD
用暴力法很好寫,
問題是如果 A 跟 B 稍微大一點,
我的 5700G 會直接喘到死....
就算想辦法切成 4 個 Thread 還是沒用 QQ
A大概 2 KBytes
B大概 20 KBytes ~ 20 MBytes
程式是 VB.NET/C#,
這狀況一定得改用 C 跑嗎?
有沒有演算法可解的?
還是得用GPU?(沒學過CUDA,哭啊)