佚名通过本文主要向大家介绍了repeated,repeated是什么意思,measurement repeated,repeated怎么读,station repeated等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:Repeated DNA Sequences[leetcode]
描述:
描述:
void strCpy(char* s, char* d, int from, int size) {
for (int i = 0; i < size; i++) {
d[i] = s[from+i];
}
}
int getVal(char ch) {
if (ch == 'A') return 0;
if (ch == 'C') return 1;
if (ch == 'G') return 2;
if (ch == 'T') return 3;
}
int hash[1024*1024] = {0};
char** findRepeatedDnaSequences(char* s, int* returnSize) {
char** rst = (char**)malloc(sizeof(char*) * 100);
memset(rst, 0, sizeof(rst));
int len = strlen(s), size = -1;
unsigned int bit = 0, i = 0;
for (; i < 9; i++) {
bit = bit << 2 | getVal(s[i]);
}
for (; i < len; i++) {
bit = bit << 2 & 0xFFFFF | getVal(s[i]);
hash[bit]++;
if (hash[bit] == 1) {
rst[++size] = (char*)malloc(sizeof(char)*10);
memset(rst[size], 0, sizeof(rst[size]));
strCpy(s, rst[size], i-9, 10);
}
}
*returnSize = size+1;
return rst;
}
leetcode运行是runtime error,但在本地测试的时候,返回的结果为空的字符串数组。
不知道是不是内存溢出的问题?请大家帮忙看一下