map改变一个字母是什么_map中a的发音音标

map改变一个字母是什么_map中a的发音音标原题链接给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出:[ [“ate”,”eat”,”tea”], [“nat”,”tan”], [“bat”]]说明:所有输入均为小写字母。不考虑答案输出的顺序。tclass Solution {public: vector<vector<string>> g

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

原题链接
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。

示例:

输入: ["eat", "tea", "tan", "ate", "nat", "bat"]
输出:
[
  ["ate","eat","tea"],
  ["nat","tan"],
  ["bat"]
]

说明:

  • 所有输入均为小写字母。
  • 不考虑答案输出的顺序。

题解

  1. 先对单词排序,然后单词相同的放入同一个vector中,所以时间复杂度为O(nmlogm)
class Solution { 
   
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs) { 
   
        map<string,vector<string> >a;
        for(int i = 0;i < strs.size();i ++){ 
   
            string t = strs[i];
            sort(t.begin(),t.end());
            if(a.find(t) == a.end()){ 
   
                vector<string> tt;
                a[t] = tt;
            }
            a[t].push_back(strs[i]);
        }
        vector<vector<string> >res;
        for(map<string,vector<string> >::iterator it = a.begin();it != a.end();it ++){ 
   
            res.push_back(it->second);
        }
        return res;
    }
};
  1. 统计每个单词中字符出现的次数,然后把字符对应次数一样的放入同一个vector中,时间复杂度为O(n(k+ m)) k==26
class Solution { 
   
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs) { 
   
        map<string,vector<string> >m;
        vector<vector<string> >res;
        int num[26] = { 
   0};
        for(auto &word : strs){ 
   
            memset(num,0,sizeof num);
            for(int i = 0;i < word.size();i ++){ 
   
                num[word[i] - 'a'] ++;
            }
            string t = "";
            for(int i = 0;i < 26;i ++){ 
   
                if(num[i] != 0){ 
   
                    t += (to_string(i + 'a') + to_string(num[i]));
                }
            }
            m[t].push_back(word);
        }
        for(auto &a : m)res.push_back(a.second);
        return res;
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168990.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月9日 上午8:36
下一篇 2022年8月9日 上午8:36


相关推荐

  • Midjourney中国风提示词关键词_传统元素运用指南【国风】

    Midjourney中国风提示词关键词_传统元素运用指南【国风】

    2026年3月15日
    3
  • linux内核编程指南_linux内核源码详解

    linux内核编程指南_linux内核源码详解本章主要是as86与gas两种汇编语言的简要介绍,C语言与汇编语言的相互嵌套,目标文件的结构与及makefile文件的简要语法。  1,as86汇编的简要语法及命令可以参考http://blog.csdn.net/astraylinux/article/details/7301596  2,gas汇编与intel汇编的主要区别:(具体语法参考:http://blog.csdn.net/as

    2022年10月8日
    6
  • QT是什么?

    QT是什么?了解QT踏上开发这条路已经有好几年了,通过这些年的学习,自己也总结了一些基础的知识,在这里,跟大家分享下。QT是什么1.Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。2、Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(MetaObject

    2022年5月17日
    102
  • fastai教程_euleros安装教程

    fastai教程_euleros安装教程从fast.ai学到的十大技巧:如何在几周内上手顶级算法https://www.colabug.com/3887239.htmlfastai系列教程(二)-快速入门MNIST示例https://www.pytorchtutorial.com/fastai-tutorial-2-overview-mnist/…

    2025年10月3日
    5
  • C语言自动发消息代码,VC自定义消息postmessage用法(消息响应函数)

    C语言自动发消息代码,VC自定义消息postmessage用法(消息响应函数)VC 自定义消息 postmessage 用法 消息响应函数 分类 计算机等级 更新时间 2016 07 07 来源 转载 VC 自定义消息 postmessage 用法 1 在 resource h 文件添加如下代码定一个自己的消息 defineWM MY MESSAGEWM USER 100 bytyds2 在 view h 的文件添加如下

    2026年3月19日
    2
  • 关于COM对象创建(CoCreateInstance,与QueryInterface)

    关于COM对象创建(CoCreateInstance,与QueryInterface)panda2002-12-1905:40PM一个土问题,关于COM对象的创建 因为生活所迫,这几天必须对COM有所了解。今天看了之后,对COM对象的创建有所困惑。使用CoCreateInstance和QueryInterface两种方法创建COM对象有何不同?例子程序如下:代码://CreateaCOMobjectfromtheShellLinkcoclasshr=CoCr

    2022年7月22日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号