刷题笔记:力扣第242、349题(哈希表)
力扣第242题-有效的字母异位词1.本题考点为哈希表比较容易想到完整代码如下1. bool isAnagram(char* s, char* t) { 2. // 创建26个字母的计数数组初始全0 3. int hash[26] {0}; 4. // 获取两个字符串长度 5. int len1 strlen(s), len2 strlen(t); 6. // 长度不同一定不是字母异位词直接返回false 7. if (len1 ! len2) return false; 8. 9. // 遍历s对应字母计数1 10. for (int i 0; i len1; i){ 11. hash[s[i] - a]; 12. } 13. // 遍历t对应字母计数-1 14. for (int i 0; i len2; i){ 15. hash[t[i] - a]--; 16. // 某个字母负数说明t该字母更多直接false 17. if (hash[t[i] - a] 0) return false; 18. } 19. 20. // 全部抵消完毕是字母异位词 21. return true; 22. }该算法时间复杂度为O(n)空间复杂度为O(1)。力扣第349题-两个数组的交集1.本题也是考察哈希表只需要为两个数组各创建一个哈希数组记录哪些数字出现了最后在对比两个哈希数组即可。完整代码如下1. int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize) { 2. // 哈希数组题目数据范围0~1000分别记录两个数组数字出现标记 3. int hash1[1001] {0}; 4. int hash2[1001] {0}; 5. // cnt记录交集元素个数 6. int cnt 0; 7. // 分配结果数组最多存1001个不同数字 8. int* res (int*)malloc(sizeof(int) * 1001); 9. 10. // 遍历nums1标记出现过的数字 11. for (int i 0; i nums1Size; i){ 12. hash1[nums1[i]]; 13. } 14. // 遍历nums2标记出现过的数字 15. for (int i 0; i nums2Size; i){ 16. hash2[nums2[i]]; 17. } 18. // 遍历0~1000全部数字两边都出现过则加入交集 19. for (int i 0; i 1001; i){ 20. if (hash1[i] 0 hash2[i] 0){ 21. res[cnt] i; 22. } 23. } 24. 25. // 设置返回数组长度 26. *returnSize cnt; 27. return res; 28. }该算法时间复杂度为O(m n)空间复杂度为O(1)常数空间的哈希数组。2.还可以做进一步优化两个哈希数组合并为一个结果数组的开辟空间大小设定为两个数组大小的较小值。完整代码如下1. int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize) { 2. // 哈希数组数值范围0~1000标记nums1中出现过的数字 3. int hash[1001] {0}; 4. // 统计交集元素数量 5. int cnt 0; 6. // 交集最多元素个数等于较短数组长度以此分配结果数组内存 7. int lessSize nums1Size nums2Size ? nums1Size : nums2Size; 8. int* res (int*)malloc(sizeof(int) * lessSize); 9. 10. // 遍历nums1仅将首次出现的数字标记为1去重 11. for (int i 0; i nums1Size; i){ 12. if (hash[nums1[i]] 0){ 13. hash[nums1[i]]; 14. } 15. } 16. // 遍历nums2找到哈希表中标记过的数字即为交集 17. for (int i 0; i nums2Size; i){ 18. if (hash[nums2[i]] 0){ 19. res[cnt] nums2[i]; 20. hash[nums2[i]]--; // 减1避免重复存入相同元素 21. } 22. } 23. 24. // 赋值返回数组有效长度 25. *returnSize cnt; 26. return res; 27. }该算法时间复杂度为O(m n)空间复杂度为O(1)常数空间的哈希数组。

相关新闻

OSM Bright进阶开发:自定义图层与高级地图交互功能实现

OSM Bright进阶开发:自定义图层与高级地图交互功能实现

OSM Bright进阶开发:自定义图层与高级地图交互功能实现 【免费下载链接】osm-bright A Carto template for OpenStreetMap data 项目地址: https://gitcode.com/gh_mirrors/os/osm-bright OSM Bright作为一款基于OpenStreetMap数据的Carto模板,为…

2026/7/30 23:27:24 阅读更多 →
计算机单片机毕设实战-基于单片机的智能垃圾桶阈值可调控制系统设计 基于 STM32 的多功能智能垃圾桶软硬件设计(013101)

计算机单片机毕设实战-基于单片机的智能垃圾桶阈值可调控制系统设计 基于 STM32 的多功能智能垃圾桶软硬件设计(013101)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/7/30 23:27:24 阅读更多 →
如何快速掌握EuroSAT遥感数据集:面向初学者的完整实战指南

如何快速掌握EuroSAT遥感数据集:面向初学者的完整实战指南

如何快速掌握EuroSAT遥感数据集:面向初学者的完整实战指南 【免费下载链接】EuroSAT EuroSAT: Land Use and Land Cover Classification with Sentinel-2 项目地址: https://gitcode.com/gh_mirrors/eu/EuroSAT EuroSAT是一个基于Sentinel-2卫星数据的专业遥…

2026/7/30 23:27:24 阅读更多 →

最新新闻

运维实战分享|富士通 Fujitsu 服务器 ESXi 8 全套原厂 OEM 资源实操指南

运维实战分享|富士通 Fujitsu 服务器 ESXi 8 全套原厂 OEM 资源实操指南

最近不少同行私信咨询富士通服务器部署 ESXi 的相关问题,很多人反馈通用公版镜像装完问题一大堆:RAID 阵列识别空白、板载网卡无驱动、iRMC 远程管理完全失联,硬件温度、风扇转速这类监控数据全部读取失败。 我也从事过企业机房虚拟化运维一段…

2026/7/30 23:40:29 阅读更多 →
TPInAppReceipt单元测试策略:确保内购验证逻辑零缺陷

TPInAppReceipt单元测试策略:确保内购验证逻辑零缺陷

TPInAppReceipt单元测试策略:确保内购验证逻辑零缺陷 【免费下载链接】TPInAppReceipt Reading and Validating In App Purchase Receipt Locally. 项目地址: https://gitcode.com/gh_mirrors/tp/TPInAppReceipt 在iOS应用开发中,内购验证逻辑的可…

2026/7/30 23:40:29 阅读更多 →
Eldiron编辑器完全指南:界面布局、工具面板与快捷键高效使用

Eldiron编辑器完全指南:界面布局、工具面板与快捷键高效使用

Eldiron编辑器完全指南:界面布局、工具面板与快捷键高效使用 【免费下载链接】Eldiron Create cross-platform classic RPGs in 2D and 3D with powerful built-in world editing tools. 项目地址: https://gitcode.com/gh_mirrors/el/Eldiron Eldiron是一款…

2026/7/30 23:40:29 阅读更多 →
VCSA 8.0修改主机名后vSphere Client网页无法登录全套解决方案

VCSA 8.0修改主机名后vSphere Client网页无法登录全套解决方案

VCSA 8.0通过VCSA管理界面修改系统主机名FQDN,重启服务生效后,使用新域名访问vSphere Client页面加载异常、登录报错或者跳转失败。浅层诱因是浏览器缓存、旧域名Cookie、浏览器保存的SSL证书缓存冲突;应急访问方案:清除浏览器全部…

2026/7/30 23:40:29 阅读更多 →
ESXi 7.0 U3升级后VM存储策略失效,datastore metadata inconsistent元数据不一致完整排障方案

ESXi 7.0 U3升级后VM存储策略失效,datastore metadata inconsistent元数据不一致完整排障方案

集群ESXi主机批量升级7.0 U3补丁完成后,vCenter持续告警Datastore metadata inconsistent(元数据不一致),大量虚拟机VM Storage Policy策略状态显示不兼容、失效,存储规则无法执行,vSAN副本、空间缩减策略不…

2026/7/30 23:40:28 阅读更多 →
BitcoinLib开发路线图:Taproot与Schnorr签名支持前瞻

BitcoinLib开发路线图:Taproot与Schnorr签名支持前瞻

BitcoinLib开发路线图:Taproot与Schnorr签名支持前瞻 【免费下载链接】bitcoinlib The Python BitcoinLib provides developers with a wide range of tools to work with Bitcoin: manage wallets, private keys and addresses. Interact with the blockchain. And…

2026/7/30 23:39:28 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻