c_cpp 给你一个文本文件太大,不适合内存和3个字符串A,B,C。对于每个字符串,你有一个列出位置o的排序数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 给你一个文本文件太大,不适合内存和3个字符串A,B,C。对于每个字符串,你有一个列出位置o的排序数组相关的知识,希望对你有一定的参考价值。

// assuming the arrays are sorted in increasing order
pair<int,int> findWindow( int va[MAX], int na, int vb[MAX], int nb, int vc[MAX], int nc) {
	pair<int,int> result;            // window start, end position
	int a,b,c, resultLen = na+nb+nc; // dummy result “infinity”
	a = b = c = 0;
	do {
		int start = min( va[a], min( vb[b], vc[c] ) );
		int end = max( va[a], max( vb[b], vc[c] ) );
		int len = end-start+1;
		if (resultLen > len) {
			resultLen = len;
			result = make_pair( start, end );
		}
		if (va[a] <= vb[b]) {
			if (va[a] <= vc[c])
				a++;
			else
				c++;
		}
		else if (vb[b] <= vc[c])
			b++;
		else
			c++;
	} while (a < na && b < nb && c < nc);
	return result;
}

以上是关于c_cpp 给你一个文本文件太大,不适合内存和3个字符串A,B,C。对于每个字符串,你有一个列出位置o的排序数组的主要内容,如果未能解决你的问题,请参考以下文章