一、什么时候考虑哈希法?
当一道题需要快速判断一个元素是否在集合里,就要考虑用哈希法!
目前学到的哈希表的创建方法:1、uthash(leetcode支持)2、数组
如果只需要判断元素是否出现过,而不需要考虑key-value映射关系,可以简单地用数组来创建哈希表。
二、具体题目
202.快乐数
这道题关键是想到sum会无限循环,也就是会重复出现,因此用到哈希判断元素是否重复在集合中出现。然后用数组作为哈希表就可以解决了。
三、额外补充
div()函数 - stdlib.h,用于获得商和余数
函数原型:div_t div(int numer, int denom)
div_t:头文件中定义的结构体,有quot和rem两个成员
typedef struct
{
int quot;
int rem;
}div_t;