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

怎么里ip做网站seo软件排行榜前十名

怎么里ip做网站,seo软件排行榜前十名,做网站的主要任务,做网站想注册商标是哪一类文章收录于LeetCode专栏 LeetCode地址 字母异位词分组 题目 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。所有输入均为小写字母,且不考虑答案输出的顺序。   示例1: 输入: strs [“…

文章收录于LeetCode专栏
LeetCode地址


字母异位词分组

题目

  给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。所有输入均为小写字母,且不考虑答案输出的顺序。
  示例1:

输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]
输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]

  示例2:

输入: strs = [“”]
输出: [[“”]]

  示例3:

输入: strs = [“a”]
输出: [[“a”]]

  提示:
   1 <= strs.length <= 104
   0 <= strs[i].length <= 100
   strs[i] 仅包含小写字母

排序

算法思路

  异位词是由相同数量的字母根据不同顺序排序而组成的字符串,我们根据此特性可以知道只要分别对两个字符串进行排序,排序后形成的两个新字符串一定相等,所以我们可以通过对字符串进行排序后比较的方式来判断当前两个字符串是否是异位词。再识别出数组中有哪些异位词之后,可以使用一个额外的hash表将同一类异位词放hash表中,最后将其value组装返回。

编码

class Solution{public List<List<String>> groupAnagrams(String[] strs){Map<String, List<String>> map = new HashMap<>();for(String str: strs){char[] c = str.toCharArray();Arrays.sort(c);String newStr = String.valueOf(c);List<String> list = map.getOrDefault(newStr, new ArrayList<>());list.add(str);map.put(newStr, list);}return new ArrayList(map.values());} 
}

复杂度分析

  时间复杂度:使用Java自带的排序算法O(n log n),同时最外层又对数组进行了遍历,因此时间复杂度为O(kn log n);
  空间复杂度:使用了一个哈希表暂存数据,其空间复杂度为O(kn)。

哈希表辅助计数

算法思路

  因为所有词组都是有小写字母组成,所以我们可以用计数法对词组中出现的字母进行遍历计数,最后将结果放入到一个额外的hash表中,每次往hash表中放入数据时都需先看是否存在同样字符数量的词组,如果已经存在就往已有集合中追加,反之直接插入。这里需要特别说明一下,放入hash表中的key是每个词组中字母+总次数,如“tea”就会转换为“a1e1t1”存入hash表中。

编码

class Solution{public List<List<String>> groupAnagrams(String[] strs){Map<String, List<String>> map = new HashMap<>();for(String str: strs){int[] count = new int[26];for(int i=0; i<str.length(); i++){count[str.charAt(i) - 'a']++;}StringBuilder sb = new StringBuilder();for(int i=0; i<26; i++){if(count[i] != 0){sb.append('a' + i);sb.append(count[i]);}}List<String> list = map.getOrDefault(sb.toString(), new ArrayList<>());list.add(str);map.put(sb.toString(), list);}return new ArrayList(map.values());}
}

复杂度分析

   时间复杂度:因为对数组进行了一次遍历且在每次遍历中对词组中每个字母进行处理,所以时间复杂度为0(n(k+26));
  空间复杂度:在使用哈希表暂存数据的基础之上,还额外使用了一个26长度的数组来存放每个字符的计数结果,最终的空间复杂度为O(n(k+26))。


一键三连,让我的信心像气球一样膨胀!

http://www.zhongyajixie.com/news/49765.html

相关文章:

  • 网站建设多少钱个人汕头网络营销公司
  • 郑州市做网站公司sem是什么设备
  • 做汽车配件生意的网站吉林黄页电话查询
  • 做高端网站的公司网络营销的未来发展趋势
  • 如何做登录网站开网店怎么开 新手无货源
  • 为什么要网站备案网站制作流程
  • 网站制作功能多少钱品牌宣传推广策划方案
  • 杭州人防质监站网址在哪里做推广效果好
  • 南充网站建设费用网站建设seo
  • 网页制作三巨头网站外部优化的4大重点
  • 一台服务器做两个网站吗网站友情链接查询
  • 建设网站规划书门户网站
  • 做网站能给公司带来什么好处百度健康人工客服电话24小时
  • 做区域链的网站网络口碑营销的成功案例
  • 唐山专业做网站台湾新闻最新消息今天
  • 佛山建站专家网络推广怎么做方案
  • 求一个做烧肉的网站网络优化初学者难吗
  • 门户子网站建设申请html友情链接
  • 雅虎搜索引擎江西省seo
  • 商业网站建设公司推荐上海公关公司
  • 怎样做家普网站网络营销岗位
  • 武汉网站建设与服务公司宁波seo网络推广咨询热线
  • 凡科是免费做网站吗游戏推广接单平台
  • wordpress还是自己写广州百度搜索优化
  • 电商网站上信息资源的特点包括哪些seo专员
  • 深圳公司网站设计公司灰色词优化培训
  • 企腾网seo站内优化培训
  • 能查个人信息的网站成都排名推广
  • 桂林做网站的公司免费建网站最新视频教程
  • 建设网站找什么问题优化排名