Leetcode——哈希

一、题单

1、两数之和

二、题解

1、两数之和

此题使用暴力解法完全没问题,只是为了熟练使用hash的库函数。

typedef struct {
    int key;
    int val;
    UT_hash_handle hh;
} Hash;

Hash *g_hash;
Hash *FindKey(int key)
{
    Hash *tmp;
    HASH_FIND_INT(g_hash, &key, tmp);
    return tmp;
}

void AddKey(int key, int val)
{
    Hash *tmp = FindKey(key);
    Hash *it;
    if (tmp == NULL) {
        it = (Hash *)malloc(sizeof(Hash));
        it->key = key;
        it->val = val;
        HASH_ADD_INT(g_hash, key, it);
    } else {
        tmp->val = val;
    }
}

int* twoSum(int* nums, int numsSize, int target, int* returnSize)
{
    int i, j;
    *returnSize = 2;
    int *res = (int *)malloc(sizeof(int) * (*returnSize));
    if (res == NULL) {
        *returnSize 

你可能感兴趣的:(Leetcode,哈希算法,leetcode,算法)