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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 查看linux版本内核 Linux内核版本的变化[通俗易懂]

    查看linux版本内核 Linux内核版本的变化[通俗易懂]linux内核 linux内核版本号格式     major.minor.patch-build.desc  1、major:表示主版本号,有结构性变化时才变更。  2、minor:表示次版本号,新增功能时才发生变化;一般奇数表示测试版,偶数表示生产版。  3、patch:表示对次版本的修订次数或补丁包数。  4、build:表示编译(或构建)的次数,每次编译可能

    2022年8月23日
    5
  • linux目录结构详解_文件系统目录结构采用

    linux目录结构详解_文件系统目录结构采用前言平常linux系统用的也不少,那么linux下的每个目录都是用来干什么的,小伙伴们有仔细研究过吗?让我们来了解下吧Linux系统目录结构登录系统后,在当前命令窗口下输入命令:[root@

    2022年7月31日
    5
  • WebService—规范介绍和几种实现WebService的框架介绍

    WebService—规范介绍和几种实现WebService的框架介绍一、关于SOA(面向服务架构)思想1、关于协议2、SOA的诞生SOA(Service-OrientedArchitecture)面向服务架构是一种思想,它将应用程序的不同功能单元通过中立的契

    2022年7月3日
    26
  • 头条AutoSize基本原理

    头条AutoSize基本原理其实核心代码根简单,如下面显示,详情可以参考这个文章:屏幕适配:修改屏幕像素密度,随便设dpprivatefinalstaticfloatWIDTH=960;publicstaticvoidsetDensity(Applicationapplication,AppCompatActivityactivity){//获取当前app的屏幕显示信息DisplayMetricsdisplayMetrics=application.g

    2022年6月1日
    38
  • God is Gril 帖子上看的有点感想「建议收藏」

    God is Gril 帖子上看的有点感想「建议收藏」GodisGril 一首不错的英文歌曲,一时光把歌词拷贝下来了,就没看曲作者和歌手可是不知道歌词,所以在google上搜索到了,谁知道找到了,godisagirl,doyoubelieveit,canyourecieveit?的帖子,没看歌词之前,看到帖子上的对话,比较有意思.godisgirl?doubelievethatgodisgirl.c

    2022年10月8日
    5
  • 520-希望可以做一个会说情话的程序员[通俗易懂]

    做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开今天520,不分享技术了。分享一些动人的情话,作为程序员在工作编码的同时,也不要忘了追求人生的另一半!分享下面内容,内容整理来源网络!王小波除了作家的身份外,还是一名程序员,并且是一名很牛的程序员。值得学习!没有女朋友的可以用下面的代码我一生都在等待 直到你闯进我的世界 我只想对你说:余生请多指教…

    2022年2月28日
    37

发表回复

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

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