- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个字符串需要用字典压缩算法进行压缩。如果在字典中找到了一个子串,它的编码成本为 2。如果没有找到匹配,成本将是该子串的大小。 给定一个固定的字典和一个字符串,我怎样才能在字典中选择最好的子字符串从而使成本最小?
例如,考虑字符串 ABBBBBCD 和以下字典:
最佳方案是选择 ABBB 和 BBCD,成本为 2 + 2 = 4。
如果我选择 A、BBBBB、C 和 D,成本将是 1 + 2 + 1 + 1 = 5,这比第一个更差。
然而,如果我选择 ABBBB、B、CD,成本将为 2 + 1 + 2 = 5。
在解释之后,我的问题是:是否有解决此问题的已知算法?或者,是否有一些已知的算法可以修改,以便我可以不使用暴力方法解决问题?
请问我是否有不清楚的地方。
最佳答案
您可以将其表述为最短路径问题并加以解决。
创建一个以每个索引为顶点的图。现在添加一条从 i 到 j 的有向边(i
现在找到从索引 1 到 n 的最短路径。 (参见:http://www.geeksforgeeks.org/shortest-path-for-directed-acyclic-graphs/)
关于algorithm - 基于字典的压缩算法的最佳子串选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28619892/
我正在尝试创建一个程序,其中字符串的前三个字符重复给定次数,如下所示: foo('Chocolate', 3) # => 'ChoChoCho' foo('Abc', 3) # => 'AbcAbcA
我有以下字符串: std::string str = "Mode:AAA:val:101:id:A1"; 我想分离一个位于 "val:" 和 ":id" 之间的子字符串,这是我的方法: std::st
DNA 字符串可以是任意长度,包含 5 个字母(A、T、G、C、N)的任意组合。 压缩包含 5 个字母(A、T、G、C、N)的 DNA 字母串的有效方法是什么?不是考虑每个字母表 3 位,我们可以使用
是否有一种使用 levenstein 距离将一个特定字符串与第二个较长字符串中的任何区域进行匹配的好方法? 例子: str1='aaaaa' str2='bbbbbbaabaabbbb' if str
使用 OAuth 并使用以下函数使用我们称为“foo”(实际上是 OAuth token )的字符串加密 key public function encrypt( $text ) { // a
我是一名优秀的程序员,十分优秀!