当前位置: 首页 > news >正文

湖南网站排名wordpress插件seo

湖南网站排名,wordpress插件seo,营销型网站建设培训,下载百度安装涉及知识点:vector、哈希表 解答我的解答的时间复杂度分析我的解答的空间复杂度分析复习:排序算法的时间复杂度 和第一题需要的知识点相同,所以知识点复习可见 link1《leetcode hot100刷题日记——1.两数之和》 解题思路:是字母异位词的字符…

涉及知识点:vector、哈希表

  • 解答
    • 我的解答的时间复杂度分析
    • 我的解答的空间复杂度分析
    • 复习:排序算法的时间复杂度

和第一题需要的知识点相同,所以知识点复习可见 link1《leetcode hot100刷题日记——1.两数之和》

在这里插入图片描述
解题思路:是字母异位词的字符串的组成字母是相同的,所以可以对从strs取出来的字符串按照字母顺序排序,并作为hash表唯一的key。如果是字母异位词,那就放在一个key里。

解答

class Solution {
public:vector<vector<string>> groupAnagrams(vector<string>& strs) {//建立一个哈希表,哈希表的key是字母串(按照字母顺序排序),value是和字母串字母相同的数组元素unordered_map<string,vector<string>>map;for(string &str:strs){string sorted=str;sort(sorted.begin(),sorted.end());//这里要注意一下字符串内部的字母是咋排序的map[sorted].push_back(str);}vector<vector<string>> res;for(auto &m:map){res.push_back(m.second);//first,second联想一下}return res;}
};

我的解答的时间复杂度分析

  • 遍历字符串数组:需要对输入的字符串数组进行一次完整遍历,时间复杂度为 O(n),其中 n 是字符串的数量。
  • 排序每个字符串:对每个字符串进行排序的时间复杂度取决于字符串的长度 k。对于每个字符串,排序的时间复杂度为 O(klogk)。因此,对于所有 n 个字符串,总时间复杂度为 O(n⋅klogk)。
  • 遍历哈希表构建结果:遍历哈希表并将每个分组添加到结果列表的时间复杂度为 O(m⋅l),其中 m 是哈希表中键值对的数量(即不同字母组合的数量),l 是每个分组的平均字符串数量。在最坏情况下,所有字符串互为不同变位词,此时 m=n 且 l=1,总时间复杂度为 O(n)
  • 综上,整个算法的时间复杂度为 O(n⋅klogk),其中 k 是字符串的平均长度,主导因素为排序操作的耗时。

我的解答的空间复杂度分析

  • 哈希表:哈希表需要存储每个排序后的字符串作为键,以及对应的原始字符串列表作为值。
    每个键的长度为 k,假设所有键的总数为 m,键的总空间为 O(m⋅k);
    每个值存储原始字符串列表,所有值的总空间为 O(n⋅k)(所有原始字符串的总长度)。
  • 结果列表:结果列表中包含所有字符串,总空间为 O(n⋅k)。
    因此,整个算法的空间复杂度为 O(n⋅k+m⋅k)。在最坏情况下(所有字符串互为不同变位词),m=n,空间复杂度为 O(n⋅k);在最优情况下(所有字符串为同一变位词),m=1,空间复杂度仍为 O(n⋅k)

复习:排序算法的时间复杂度

排序算法最好情况时间复杂度平均情况时间复杂度最坏情况时间复杂度
冒泡排序 (Bubble Sort)O(n)O(n^2)O(n^2)
选择排序 (Selection Sort)O(n^2)O(n^2)O(n^2)
插入排序 (Insertion Sort)O(n)O(n^2)O(n^2)
希尔排序 (Shell Sort)O(nlogn)O(n^1.25)O(n^2)
归并排序 (Merge Sort)O(nlogn)O(nlogn)O(nlogn)
快速排序 (Quick Sort)O(nlogn)O(nlogn)O(n^2)
堆排序 (Heap Sort)O(nlogn)O(nlogn)O(nlogn)
计数排序 (Counting Sort)O(n+k)O(n+k)O(n+k)
桶排序 (Bucket Sort)O(n+k)O(n+k)O(n^2)
基数排序 (Radix Sort)O(n⋅k)O(n⋅k)O(n⋅k)
http://www.dtcms.com/a/449994.html

相关文章:

  • WindowsKyLin:nginx安装与配置
  • 【剑斩OFFER】算法的暴力美学——最大连续1的个数 III
  • UNIX下C语言编程与实践32-UNIX 僵死进程:成因、危害与检测方法
  • 论坛开源网站源码首页优化排名
  • 网站建设策请seo的人帮做网站排名
  • 旅游网站后台html模板做网站的做app的
  • 网站备案回访问题效果好的网站制作
  • Unity 光源
  • 应急响应
  • 【2061】梯形面积
  • 电商网站seo优化目标分解wordpress域名授权
  • tex 写的论文如何统计字数
  • 【区块链学习笔记】16:以太坊中的交易树和收据树
  • 盟接之桥谈制造:格局、行动、心态与认知的创业修行
  • 深入理解 Spring Bean 后处理器:@Autowired 等注解的本质
  • 购物网站排名2017专业商业空间设计公司
  • UDP 的报文结构和注意事项
  • C56-字符串拷贝函数strcpy与strnpy
  • SAM、SECURITY、SYSTEM 和 NTDS.dit 的详细区别
  • 网站建网站建设企业北京网络教育
  • 通过super()正确初始化超类:Effective Python 第40条
  • 关于共享内存的梳理和总结
  • asp网站设计代做关键词推广效果分析
  • HTTP基础教程详解
  • 电子商务网站主要面向上海设计网站开发
  • 网站开发一般用哪个浏览器广州生物科技网站建设公司
  • 禹州市门户网站建设做网站开发一般用什么语言
  • 做非经营网站需要营业执照电商网站开发实战视频教程
  • 咸阳企业网站建设好看的免费网站模板下载 迅雷下载地址
  • LOD and Reflections Adding Details