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

《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(56)斩仙葫芦收字母 - 字母异位词分组(哈希映射)

《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(56)斩仙葫芦收字母 - 字母异位词分组(哈希映射)

哪吒在数据修仙界中继续他的修炼之旅。这一次,他来到了一片神秘的斩仙葫芦海,海上漂浮着无数装满字母的葫芦,每个葫芦上刻有神秘的字母。海的入口处有一块巨大的石碑,上面刻着一行文字:“欲收此海,需以斩仙葫芦之力,收字母,哈希映射显真身。”

哪吒定睛一看,石碑上还有一行小字:“单词列表["eat", "tea", "tan", "ate", "nat", "bat"]的字母异位词分组为[["eat","tea","ate"],["tan","nat"],["bat"]]。”哪吒心中一动,他知道这是一道关于字母异位词分组的难题,需要通过哈希映射的方法,将具有相同字母的单词分组。

暴力解法:斩仙葫芦的初次尝试

哪吒心想:“要将字母异位词分组,我可以逐个单词比较。”他催动斩仙葫芦之力,通过逐个单词比较,试图找到所有具有相同字母的单词组。

vector<vector<string>> groupAnagrams(vector<string>& strs) {
   
    vector<vector<string>> result;
    vector<bool> visited(strs.size(), false);
    for (int i = 0; i < strs.size(); ++i) {
   
        if (!visited[i]) {
   
            vector<string> group;
            group.push_back(strs[i]);
            visited[i] = true;
            for (int j = i + 1; j < strs.size(); ++j) {
   
                if (!visited[j] && isAnagram(strs[i], strs[j])) {
   
                    group.push_back(strs[j]);
                    visited[j] = true;
                }
            }
            result.push_back(group);
        }
    }
    return result

相关文章:

  • Spring Retry
  • Python基于Django和协同过滤算法实现电影推荐系统功能丰富版
  • kubernetes|云原生|部署单master的kubernetes 1.25.5版本集群完全记录(使用contained 运行时)
  • 课堂练习 2:测试 PHP 是否安装成功
  • 用uv管理python环境/项目(各种应用场景)
  • Kafka可视化工具KafkaTool工具的使用
  • 3.4 Spring Boot整合Elasticsearch:全文检索与聚合分析
  • 游戏引擎学习第164天
  • 解析GNGGA数据,C语言单片机
  • 【k8s002】k8s健康检查与故障诊断
  • ETIMEDOUT 网络超时问题
  • 电机控制常见面试问题(十三)
  • redis事务
  • 企业微信群聊机器人开发
  • 深度优先搜索(DFS)与方格图的连通性判断
  • 案例驱动的 IT 团队管理:创新与突破之路:第一章 重构 IT 团队管理:从传统到创新-1.2.1 真实场景还原:从失败中学习
  • MATLAB基于ResNet18的交通标志识别系统
  • S32K144入门笔记(十二):LPIT的解读
  • MySQL单表查询大全【SELECT】
  • .NET_Prism基本项目创建
  • 网站正在建设中 html 模板/seo官网
  • 做网站上传图片/自媒体平台
  • 微股东微网站制作平台/成crm软件
  • 郑州做网站和app的公司/搜索引擎是什么意思啊
  • 佛山外贸建站公司/百度收录规则2022
  • 在做好政府网站建设方面/googleplaystore