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

新乐市做网站网址

新乐市做网站,网址,dw不用代码做网站,sem即目录 题目描述 解题思路 代码分析 步骤说明 图解原理 优势分析 小结 码题目:LeetCode 242. 有效的字母组 题目描述 给定两个字符串 s 和 t,请判断是否为字母组(Anagram)。 如果 t 是通过打乱 s 的字符并重新排列所得到的…

目录

题目描述

解题思路

代码分析

步骤说明

图解原理

优势分析

小结


 

码题目:LeetCode 242. 有效的字母组

题目描述

给定两个字符串 st,请判断是否为字母组(Anagram)。

如果 t 是通过打乱 s 的字符并重新排列所得到的,那么它们是字母组。

例如:

输入: s = "anagram", t = "nagaram"
输出: true输入: s = "rat", t = "car"
输出: false

 


解题思路

我们需要确认两个字符串是否含有相同的字符,并且各字母出现的次数也相同。

这里使用 JavaScript 中的 Map 类型来统计字母的出现次数是非常有效的方法。

 


代码分析

var isAnagram = function (s, t) {if (s.length !== t.length) return false;const map = new Map();for (let i = 0; i < s.length; i++) {map.set(s[i], (map.get(s[i]) || 0) + 1);map.set(t[i], (map.get(t[i]) || 0) - 1);}return Array.from(map.values()).every((value) => value === 0);
};

步骤说明

  1. 长度判断:如果 st 的长度不等,直接返回 false

  2. Map 统计

    • 通过 for 循环,同时遍历 s[i]t[i]

    • s[i] 的计数 +1t[i] 的计数 -1

    • 如果是字母组,那么最后 Map 里所有值必然是 0

  3. 结果判断:判断 Map 所有 value 是否都等于 0,如果是,则返回 true,否则返回 false


图解原理

s = "anagram", t = "nagaram" 为例,观看 Map 如何变化:

第 1 次:s[0] = 'a' → map[a] = 1t[0] = 'n' → map[n] = -1第 2 次:s[1] = 'n' → map[n] = 0t[1] = 'a' → map[a] = 0第 3 次:s[2] = 'a' → map[a] = 1t[2] = 'g' → map[g] = -1第 4 次:s[3] = 'g' → map[g] = 0t[3] = 'a' → map[a] = 0第 5 次:s[4] = 'r' → map[r] = 1t[4] = 'r' → map[r] = 0第 6 次:s[5] = 'a' → map[a] = 1t[5] = 'a' → map[a] = 0第 7 次:s[6] = 'm' → map[m] = 1t[6] = 'm' → map[m] = 0

最终 map = {a:0, n:0, g:0, r:0, m:0} → 全部值为 0,说明是字母组


优势分析

  • 时间复杂度: O(n)

  • 空间复杂度: O(1)(因为最多字母数量是有限的)

此算法方案相比直接排序字符串后比较的方法而言,更加高效。


小结

该题目是实际中常见的字符组合问题,本解法利用 Map 展现了非常高效的计数思路。推荐在做类似字符组问题时使用。

http://www.dtcms.com/wzjs/29542.html

相关文章:

  • 企业做网站要注意些什么杭州网站制作排名
  • 武汉优联网站建设厦门seo外包
  • wordpress采集微信公众号seo搜索引擎优化工资薪酬
  • 做网站的人搞鬼少首页文件网站如何推广营销
  • wordpress主机免费广州关键词优化外包
  • 百度收录网站技巧广州排前三的seo公司
  • 校园互动网站建设专业做网站的公司
  • 微信的企业网站模板18款免费软件app下载
  • 如何网站做百度推广竞价推广代运营服务
  • 网站上传程序流程中国宣布疫情结束日期
  • 做兼职什么网站靠谱国内新闻今日头条
  • 如何做网站的维护和推广线上营销推广方案模板
  • 怀化主要网站电商培训机构排名
  • 营销网站建设培训今日山东新闻头条
  • 怎么改变wordpress首页重庆seo网站推广费用
  • 赛门博网站建设近期国际新闻
  • 做网站的画布是多少太原网站关键词推广
  • 住房建设厅网站宁波seo外包推广软件
  • web前端自己做网站常用的网络营销方法有哪些
  • 二级域名做外贸网站好吗百度统计怎么使用
  • wordpress日历事件搜索引擎优化seo网站
  • 如何在一个数据库做两个网站今日桂林头条新闻
  • 深圳设计公司前十名seo公司网站
  • 西安开发网站建设中国万网登录入口
  • 番禺建设网站石家庄网站建设公司
  • 公司网站建设收费网站测速
  • 苏州住房和城乡建设厅网站网络推广项目
  • 实验一 电子商务网站建设与维护百度seo优化收费标准
  • 上海新闻最新消息今天seo工作是什么意思
  • 北京好一点的微网站开发公司360站长