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

淄博亿泰网站建设推广手机网站建设公司

淄博亿泰网站建设推广,手机网站建设公司,dede美女图片网站模板,中英文网站怎么做的题目 题目链接:242. 有效的字母异位词 - 力扣(LeetCode) 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的 字母异位词。 输入: s "anagram", t "nagaram" 输出: true输入: s "rat",…
题目

题目链接:242. 有效的字母异位词 - 力扣(LeetCode)
给定两个字符串 st ,编写一个函数来判断 t 是否是 s 的 字母异位词。

输入: s = "anagram", t = "nagaram"
输出: true
输入: s = "rat", t = "car"
输出: false
class Solution {
public:bool isAnagram(string s, string t) {}
};
思路 & 代码

哈希问题常采用的数据结构:

  • 数组:用于数值比较小,范围确定的情况;
  • set:用于数值比较大、范围不确定的情况;
  • map:用于有 key - value的映射关系时;
数组作哈希表

题目分析:判断两个字符串是否由相同的字符串组成。

  1. st 仅包含小写字母 —— 26个;
  2. 小写字母的ASCII是连续的;

所以使用数组 即可,大小为26,存放的是从 a 到 z 每个字母出现的频率。

代码实现思路

将字符 映射到数组也就是哈希表的索引下标上。

  1. 定义一个数组 record,大小为 26,初始化为 0;用于记录 字符串中 字符出现的次数。
  2. 怎么记录呢?
    • 因为 字符 a 到字符 z 的ASCII是连续的数值,在运行中会自动将 'a’转换为ASCII值。
    • 使用 s[i] - 'a' 操作:若s[i] = ‘a’ ,就映射到下标0,若s[i] = ‘b’,映射到下标1,…,若s[i] = ‘z’,映射到下标 25。
  3. 遍历字符串 s,使用 record[s[i] - 'a']++记录字符出现的频率
  4. 遍历字符串 t,使用 record[t[i] - 'a']--记录字符出现的频率
  5. 遍历 record数组,若数组所有元素均为 0, 说明是字母移位词,否则不是。
#include <iostream>
#include <string>
using namespace std;class Solution {
public:bool isAnagram(string s, string t) {int record[26] = {0};for(int i = 0; i < s.size(); i++){record[s[i] - 'a']++;}for(int i = 0; i < t.size(); i++){record[t[i] - 'a']--;}for(int i = 0; i < 26; i++){if(record[i] != 0){return false;}}return true;}
};int main(){string s, t;cin >> s;cin >> t;cout << s << endl;cout << t << endl;Solution obj;bool res = obj.isAnagram(s,t);cout << boolalpha;cout << "res: " << res << endl;}

时间复杂度:O(n);
空间复杂度:O(1);

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

相关文章:

  • 网站合作建设方案网站seo是干什么的
  • 政府网站建设发展方向磁力猫搜索引擎入口官网
  • 做搜狗手机网站优化快百度指数与百度搜索量
  • 上海闵行区邮编官网seo
  • 成品网站的安装教程百度代理推广
  • 可以用css3做响应式网站吗西安seo培训学校
  • 企业做网站的用途东莞网络科技公司排名
  • 建设银行网站无法访问东莞疫情最新消息今天新增
  • 政务网站的建设站长之家域名查询排行
  • qq游戏做任务领铜板网站引擎优化
  • 湖南住房城乡建设部网站站长网站大全
  • 沈阳市网站建设报价短视频seo软件
  • 多合一网站源码百度竞价排名服务
  • 邢台哪里可以做网站惠州seo优化
  • 襄阳seo费用长沙快速排名优化
  • 西安市做网站的浏览器老是出现站长工具
  • 河北省镇政府做网站吗免费seo网站诊断
  • 应该知道的网站app推广员好做吗
  • 网站怎么做移动图片大全水果网络营销策划书
  • 网站建设及维护机万网域名管理平台
  • 重庆综合网站建设配件如何查看百度搜索指数
  • 赣州seo中山网站seo优化
  • 东光网站建设新站seo优化快速上排名
  • 1006网站建设网络营销成功的案例及其原因
  • 用jsp做网站默认显示this is my jsp page济南网络优化网站
  • 织梦网站需要优化搜索引擎营销分析
  • 企业管理网站系统百度网站是什么
  • 网站后台维护教程seo关键词报价查询
  • 普陀手机网站建设北京seo培训机构
  • 个人网站主页设计教程站长工具端口检测