string - 如何在 C++ 中区分两个很长的字符串?

标签 string algorithm memory-management string-matching information-theory

我想解决 Levenshtein_distance这个字符串长度太大的问题。

编辑2:
作为Bobah说标题是 miss leading ,所以我更新了 questoin 的标题。
首字母title was如何在 C++ 中声明 100000x100000 二维整数?
Content was
有什么方法可以在 C++ 中声明 int x[100000][100000]。
当我在全局范围内声明它时,编译器会生成 error: size of array ‘x’ is too large .
一种方法是使用 map< pair< int , int > , int > mymap .
但是分配和解除分配需要更多时间。
还有其他方式,比如uisng vector<int> myvec ;

最佳答案

对于这么大的内存块,最好的方法是使用操作系统的功能动态分配,以便为进程添加虚拟内存。

但是,看看您尝试分配的 block 有多大:

 40 000 000 000 bytes

我收回之前的建议。对于这么大的 block ,最好的方法是分析问题并找出使用更少内存的方法。

关于string - 如何在 C++ 中区分两个很长的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26202686/

相关文章:

c++ - 内存区域和内存分配器有什么区别?

c++ - node.js native 插件 - 包装类的析构函数不运行

java - 按升序和降序排列字符串

c - 一个程序,在整数数组中搜索 10 个数字,以确定它们的总和是否等于给定的 nb

objective-c - 帮我诊断这次崩溃

c++ - 如何根据某些值删除/删除类对象的 vector

java - HashTable 中的搜索功能

java - 打印字符串数组也打印 null

c# - 正则表达式在第一个空格后获取所有内容

python - 在 Python 中将类似字节的字符串转换为实际字节