leecode-两个列表的最小索引总和-C语言

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_36094222/article/details/91999619


/**
 * 算法思想:暴力法
 */

int cmp(char *s1, char *s2) {
    int i = 0;
    while(s1[i] && s2[i] && s1[i] == s2[i]) {
        i++;   
    }
    
    return s1[i] - s2[i];
}

#define LEN 0xfffff

char ** findRestaurant(char ** list1, int list1Size, char ** list2, int list2Size, int* returnSize){
    int i, j, min = INT_MAX;
    char **ret = (char **)malloc(sizeof(char *) * LEN);
    int index = 0;
    
    for(i=0; i<list1Size; i++){
        for(j=0; j<list2Size; j++){
            if(i+j <=min && cmp(list1[i], list2[j]) == 0) {
                if(i+j <= min) {
                    min = i+j; 
                    if(i+j < min)
                        index = 0;
                    ret[index++] = list1[i];   
                }
                
            }
            
        }
    }
    
   *returnSize = index;
    
    return ret;
}


展开阅读全文

没有更多推荐了,返回首页