今日算法小题总结
今日算法小题总结
nancy Jane前言
今天开始我的刷题记录筑一下地基,回忆一下哈希算法:
散列表(Hash table,也叫哈希表),是依据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。哈希表是一种典型的以空间换时间的做法。
常用的构造散列函数的方法有:直接寻址法,数字分析法,平方取中法,折叠法,随机数法,除留余数法。
1.字母异位词分组
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
字母异位词 是由重新排列源单词的所有字母得到的一个新单词。
示例 1:
1 | 输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"] |
示例 2:
1 | 输入: strs = [""] |
分析
简单理解是对于第一个单词,查找和它相同的都是由这些字母组成的其他单词,并push在一个数组内,最后将整体的数组输出
思路:对每个单词进行排序,排序后得到的字符串一定相同,判断是否相同
题解
1 | /** |