欢迎光临散文网 会员登陆 & 注册

代码随想录集训营系列——day06

2023-02-07 17:18 作者:free_bee  | 我要投稿

1. 哈希表

    哈希表通过哈希函数使得关键字与数值之间产生映射关系。

    最简单的哈希表就是数组,关键字是index(索引),数值为数组在此索引内的值。这种方法优点是编码十分的简单,但是占用空间大,空间利用率低。而且当多个数值需要映射到同一个关键字时会产生冲突,例如在离散数学中关于0-100内%3的整数集。由此需要有解决冲突的方法:开放定址法、拉链法。

2.  有效的字母异位词 242

    输入:字符串A,字符串B

    输出:是否A中的每个字符在B中都出现了相同次数

    解题目思想:遍历A建立一个map<字符,出现次数>,关键字为A中出现的字符进行累加操作;遍历B将关键字为B中出现的字符进行累减操作。最终遍历map若其中有不为0的数值则不满足条件。

    时空复杂度:O(n)

3. 两个数组的交集 349

    输入:数组A,B

    输出:数组C(是AB的交集)

    解题思想:使用set之关注元素是否存在过而不用在意个数,将A中出现过的元素插入set,遍历B若B中的元素在set中存在则加入数组C

    时空复杂度:O(n)

4. 快乐数 202

    快乐数一点都不快乐。

  「快乐数」 定义为:

    对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。

    然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。

    如果这个过程 结果为 1,那么这个数就是快乐数。

    无线循环在本题中一定会产生结果的冗余。

5. 两数之和

    输入:一组数组

    输出:一对索引对

    解题思路:在遍历数组的过程中将无法匹配的元素封装入map<元素值,索引>中,若在数组遍历完成之前出现了匹对成功的元素,将其索引对返回。

    


代码随想录集训营系列——day06的评论 (共 条)

分享到微博请遵守国家法律