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

怎样做网站认证怎么做网站logo

怎样做网站认证,怎么做网站logo,没有下载功能的视频怎么下载,拉企业做网站好干吗LeetCode 242 有效的字母异位词 题目: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s "anagram&q…

LeetCode 242 有效的字母异位词

题目:

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。

示例 1:

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

示例 2:

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

提示:

  • 1 <= s.length, t.length <= 5 * 104
  • s 和 t 仅包含小写字母

思路:

首先需要理解字母异位词的含义,简单理解为:两字符串的长度相同,字母相同,但顺序不同。
字母异位词简意为两字符串长度相同,字母相同,顺序不同。如果是异位词那么输出true,否则就输出false。

首先我的想法是:第一步判断两个字符串的长度是否相等,其次,分别统计每一个字母出现的次数,在进行比较。如果都一样,那么输出true,否则false。

既然提示说,只会出现小写字母,那我们不妨用一个大小为27的数组来统计对应的字母出现的次数,已知小写英文字母的ASCII范围为97-122,那么分别对应1-26的下标数组。

初始化这个数组全为0,当第一个统计第一个字符串的时候,我们采用自增,统计第二个字符串的时候,我们采用自减。是异位词的话,那么说明它最后会回到初始状态,如果出现其他情况,比如-1,或者加和不为0,那么false。

上代码!

class Solution {
public:bool isAnagram(string s, string t) {int nums = s.size();int numt = t.size();if (nums != numt) {return false;}int a[27] = { 0 };for (int i = 0; i < nums; i++) {a[s[i] - 97]++;}for (int i = 0; i < numt; i++) {a[t[i] - 97]--;}int sum = 0;for (int i = 0; i < 27; i++) {sum += a[i];if (a[i] < 0) {return false;}else if (sum != 0) {return false;}}return true;}
};

这代码,够垃圾,也够直接!


LeetCode 349 两个数组的交集

题目:

给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。

示例 1:

输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]

示例 2:

输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]
解释:[4,9] 也是可通过的

提示:

  • 1 <= nums1.length, nums2.length <= 1000
  • 0 <= nums1[i], nums2[i] <= 1000

思路:

首先,题目要求我们交到两个数组的交集部分,并且返回交集的元素只能是唯一的,就是不重复的意思。

那么我们第一步应该先把两个数组中相同的部分找出来,然后再进行一次遍历,删除相同元素就可以返回结果了。

具体怎么做呢?

用数组a记录数组nums1中每个元素出现的次数,再统计数组nums2每一项出现的次数,做好标记,输出交集即可。

上代码!

class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {int len1 = nums1.size();int len2 = nums2.size();int a[10] = { 0 };int b[10] = { 0 };for (int i = 0; i < len1; i++) {a[nums1[i]]++;}for (int i = 0; i < len2; i++) {if (a[nums2[i]] != 0) { b[nums2[i]] = 1;}}vector<int> ss;for (int i = 0; i < 10; i++) {if (b[i] != 0) {ss.push_back(i);//由于是容器的返回,用push_back传值}}return ss;}
};

你以为这就完了吗,LeetCode真恶心,你告诉我这是个什么东西。

改呗,还能怎么办!

好好好,加到1000还不够,是我保守了。

class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {int len1 = nums1.size();int len2 = nums2.size();int a[9999] = { 0 };int b[9999] = { 0 };for (int i = 0; i < len1; i++) {a[nums1[i]]++;}for (int i = 0; i < len2; i++) {if (a[nums2[i]] != 0) { b[nums2[i]] = 1;}}vector<int> ss;for (int i = 0; i < 9999; i++) {if (b[i] != 0) {ss.push_back(i);//由于是容器的返回,用push_back传值}}return ss;}
};

http://www.yayakq.cn/news/297841/

相关文章:

  • 微网站开发素材购买域名做销售网站可以吗
  • 网站404设置找人做淘宝网站需要多少钱
  • 手机主页网站哪个好用济南专业手机端网站建设
  • 制作微信网站模板网站ftp密码
  • 网站开发数据库设计企业核名查询系统是哪个
  • 杭州微网站重庆市建设工程质量监督信息网
  • 医院网站建设 价格低湖南网站建设费用
  • 做电话销售需要的网站网站做开票
  • 网站模板怎么用呢南京培训网站建设
  • 为什么要建手机网站wordpress被提权
  • 企业网站该怎么做专题类网站
  • 怎么做网站推广毫州最简单的软件开发工具
  • 外贸企业公司网站建设代理注册公司代理记账
  • 如何建设网络营销网站网站蜘蛛池怎么做的
  • 有域名可以自己做网站吗广州seo服务外包
  • 福州网站建设团队网页设计版式图片
  • 软件开发网站wordpress 弹窗插件
  • 如何为网站做推广平面广告设计论文
  • 定西市建设网站费用百度关键词排名推广
  • 石家庄电商网站扬州企业网站建设
  • 网站建设关键词设计公司和装修公司的区别
  • 建网站需要多钱书生商友网站建设
  • 番禺 网站建设做钓鱼网站教程视频教程
  • 风机网站怎么做wordpress网站后台
  • 电子毕业设计代做网站wordpress 小工具 位置
  • 深圳商业网站建设哪家百度网站关键词排名查询
  • 浅谈做网站的好处jsp网站开发心得
  • wordpress站怎么优化mx wordpress
  • 静态网站如何共用一个头部和尾部做软件用什么软件
  • 网站建设技术团队经验丰富网站怎么做双语种