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

D8 209.字母异位词 349.两个数组的交集

209 字母异位词(力扣:[https://leetcode.cn/problems/valid-anagram/])

条件: 给定两个字符串,判断调换字母顺序后能否一一对应;
Tips:

  1. 判断元素出现次数首选哈希表,也就是把非顺序数字字符映射到有序简单(如数组)的结构,方便根据index快速索引;
    这里的元素数量有限(小写字母26个)所以可以选数组;
  2. 注意虽然描述是s在t前,但实际比较不应分先后,也就是会存在t比s字符串长的情况,所以最后检索record时要保证没有1和-1;
点击查看代码
class Solution {
public:bool isAnagram(string s, string t) {//record只用记录26个字母各自出现次数,只有小写的26个int record[26] = {0};//遍历s,如s[0]是a,则record[0]也就是record[s[0] - a]计数加一for( int index = 0; index < s.size(); record[ s[index] - 'a' ] ++, index++ ){}//遍历t,如t[0]是a,则record[0]也就是record[t[0] - a]计数减一for( int index = 0; index < t.size(); record[ t[index] - 'a' ] --, index++ ){}//检查record,内全为0则为异位词,出现1或-1则非异位词//注意-1!所以if条件要列为不等而非小于for( int index = 0; index < 26; index++ ){if(record[index] != 0) { return false; }}return true;}
};

349 两个数组的交集(力扣:[https://leetcode.cn/problems/intersection-of-two-arrays/])
条件: 给定两个数组,返回交集,交集元素不重复且可以不考虑顺序;
Tips:

  1. 不重复(非multi的set的属性)且可以不考虑顺序(哈希桶按照求余存储而非原顺序)使用unordered_set,具体见代码注释,代码来源deepseek
点击查看代码

class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {//要求结果没有重复元素,所以直接定义为无序setunordered_set<int> ans = {};//将nums1去重,使用构造函数而不是直接赋值unordered_set<int> originNums1(nums1.begin(), nums1.end());//再一个一个拿nums2的和去重后的nums1比较,由于unordered set可以使用find直接索引所以复杂度为O(1);//范围循环只适用于数组和容器,这里遍历nums2等效于auto np = nums2.begin(); np != nums2.end; np++,此时循环体内需要定义int num = *np;for( int num : nums2 ){//将nums2的元素使用find在nums1里查找,if意为find找不到num会返回nums1.end()if( originNums1.find(num) != originNums1.end() ){//插入到答案集合里ans.insert(num);}}//这里不需要返回一个新名称的容器return vector<int>(ans.begin(), ans.end());}
};
http://www.jsqmd.com/news/593150/

相关文章:

  • python tarfile
  • AI时代的价值冲击——共识瓦解与转型阵痛
  • 赋能crm新智能:利用快马ai模型实现客户分析与话术建议
  • 降AI工具处理理科公式和图表对比:哪款保留效果最好 - 还在做实验的师兄
  • ESP32 YoRadio架构深度解析:开源网络收音机实现原理与技术配置指南
  • 直流电机双闭环调速控制系统仿真模型 转速电流双闭环PI控制 Matlab/Simulink仿真模型 带报告
  • DisplayLink驱动在Linux系统上的跨发行版兼容性解决方案
  • League Akari 技术解析:从算法原理到实战应用
  • 新手零压力上手:在快马平台生成你的第一个模拟xshell终端
  • 如何用嘎嘎降AI处理文献综述部分:综述专项降AI教程 - 还在做实验的师兄
  • 告别混乱日志:用Logrus Hook为你的Gin应用打造可观测性系统
  • 5G信号总断?可能是瑞利衰落在捣鬼!手把手教你用MATLAB仿真分析
  • 零基础掌握AI动作迁移:ComfyUI-MimicMotionWrapper全攻略
  • BetterJoy终极指南:在Windows电脑上完美使用Switch手柄玩游戏
  • Mac光标个性化新纪元:Mousecape让你的指针体验全面升级
  • 2026届必备的降重复率神器实际效果
  • 告别S19!手把手教你用CAPL解析HEX文件,实现UDS刷写器(附完整代码)
  • 实战指南:基于快马生成代码,快速搭建集成openclaw的文本审核微服务
  • 基于多目标粒子群算法的分布式电源选址定容与优化配置MATLAB程序及其期刊论文源程序
  • 【从零开始学Java | 第二十七篇】HashMap、LinkedHashMap、TreeMap
  • 【节点】[Normalize 节点]原理解析与实际应用
  • 歌词滚动姬:三步快速制作专业LRC歌词的免费开源工具终极指南
  • 实战演练:基于快马平台用countif函数构建电商销售数据分析仪表盘
  • APK Installer深度解析:Windows平台Android应用无缝安装的技术实现与实践指南
  • 苹果用户速自查,30秒排查手机安全风险
  • 2026年降AI工具速度对比:哪款出结果最快还不影响效果
  • 基于国产M0核MCU平台的风机量产程序开发方案及FOC电机控制开发方案:包含龙博格电机观测器与...
  • 题解:[JOI Final 2026] 多方通信 2 / Multi Communication 2
  • 破解微信单向好友困局:WechatRealFriends检测秘诀与高效管理指南
  • 民宿管理|基于springboot + vue民宿管理系统(源码+数据库+文档)