c语言数据结构哈希表


int findRepeatNumber(int* nums, int numsSize) {
    int res = 0;
    int* hashTable = (int*)calloc(100000, sizeof(int));
    for (int i = 0; i < numsSize; i++) {
        if (hashTableint findRepeatNumber(int* nums, int numsSize) {
    int res = 0;
    int* hashTable = (int*)calloc(100000, sizeof(int));
    for (int i = 0; i < numsSize; i++) {
        if (hashTable[nums[i]] == 0) {
            hashTable[nums[i]]++;
        } else {
            res = nums[i];
            break;                
        }
    }
    return res;
}[nums[i]] == 0) {
            hashTable[nums[i]]++;
        } else {
            res = nums[i];
            break;                
        }
    }
    return res;
}

这是剑指offer中的, if (hashTable[nums[i]] == 0) {
hashTable[nums[i]]++; 在哈希表中我很是难理解,这个用哈希表怎么解释呢

hashTable[nums[i]]++; 分解为:nums[i] ,hashTable[]++ ,假如 nums[i] = 8,hashTable[nums[i]]++ ====> hashTable[8]++ ,

nums[i]存储的是value,0表示该项为没有数据的状态