49. Group Anagrams

Problem's Link

----------------------------------------------------------------------------

Mean:

给定一个由string类型构成的集合,让你按照每个字符串的单词构成集合来将这个集合分类.

analyse:

STL的运用.

Time complexity: O(N)

view code

/**
* -----------------------------------------------------------------
* Copyright (c) 2016 crazyacking.All rights reserved.
* -----------------------------------------------------------------
* Author: crazyacking
* Date : 2016-03-08-20.40
*/
#include <queue>
#include <cstdio>
#include <set>
#include <string>
#include <stack>
#include <cmath>
#include <climits>
#include <map>
#include <cstdlib>
#include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long(LL);
typedef unsigned long long(ULL);
const double eps(1e-); class Solution
{
public:
vector<vector<string>> groupAnagrams(vector<string>& strs)
{
map<string,vector<string>> mp;
for(int i=;i<strs.size();++i)
{
string _str=strs[i];
sort(_str.begin(),_str.end());
mp[_str].push_back(strs[i]);
} vector<vector<string>> res;
for(auto mp_ptr:mp)
{
vector<string> _res;
for(auto _mp_ptr:mp_ptr.second)
{
_res.push_back(_mp_ptr);
}
sort(_res.begin(),_res.end());
res.push_back(_res);
}
return res;
}
}; int main()
{
int n;
while(cin>>n)
{
vector<string> strs(n);
for(int i=;i<n;++i)
cin>>strs[i];
Solution solution;
auto ans=solution.groupAnagrams(strs);
for(auto p1:ans)
{
for(auto p2:p1)
cout<<p2<<" ";
cout<<endl;
}
}
return ;
}

LeetCode - 49. Group Anagrams的更多相关文章

  1. leetcode@ [49] Group Anagrams (Hashtable)

    https://leetcode.com/problems/anagrams/ Given an array of strings, group anagrams together. For exam ...

  2. [LeetCode] 49. Group Anagrams 分组变位词

    Given an array of strings, group anagrams together. For example, given: ["eat", "tea& ...

  3. [leetcode]49. Group Anagrams变位词归类

    Given an array of strings, group anagrams together. Example: Input: ["eat", "tea" ...

  4. LeetCode 49 Group Anagrams(字符串分组)

    题目链接: https://leetcode.com/problems/anagrams/?tab=Description   Problem:给一个字符串数组,将其中的每个字符串进行分组,要求每个分 ...

  5. [leetcode]49. Group Anagrams重排列字符串分组

    是之前的重排列字符串的延伸,判断是重排列后存到HashMap中进行分组 这种HashMap进行分组的方式很常用 public List<List<String>> groupA ...

  6. 49. Group Anagrams - LeetCode

    Question 49. Group Anagrams Solution 思路:维护一个map,key是输入数组中的字符串(根据字符排好序) Java实现: public List<List&l ...

  7. 刷题49. Group Anagrams

    一.题目说明 题目是49. Group Anagrams,给定一列字符串,求同源词(包含相同字母的此)的集合.题目难度是Medium. 二.我的做法 题目简单,就不多说,直接上代码: class So ...

  8. 【一天一道LeetCode】#49. Group Anagrams

    一天一道LeetCode系列 (一)题目 Given an array of strings, group anagrams together. For example, given: [" ...

  9. 【LeetCode】49. Group Anagrams 解题报告(Python & Java & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 排序+hash 日期 题目地址:https://le ...

随机推荐

  1. openfire/spark/asmack 环境调试纪要

    项目需要简单搭建openfire/spark/asmack的环境及程序demo,本文简单记录以免遗忘. 1.openfire/spark 是java编写的xmpp服务器及PC客户端,安装过程相当简单一 ...

  2. 自己实现一个Native方法的调用

    JNI 开始本篇的内容之前,首先要讲一下JNI.Java很好,使用的人很多.应用极广,但是Java不是完美的.Java的不足体现在运行速度要比传统的C++慢上许多之外,还有Java无法直接访问到操作系 ...

  3. Fluxion 实战答疑

    实战文章<实战-Fluxion与wifi热点伪造.钓鱼.中间人攻击.wifi破解>发布之后,大家响应热烈,不过也遇到了很多问题.微信后台被各种提问挤爆了,于是抓紧时间出了这篇答疑. 0x0 ...

  4. Guava - EventBus(事件总线)

    Guava在guava-libraries中为我们提供了事件总线EventBus库,它是事件发布订阅模式的实现,让我们能在领域驱动设计(DDD)中以事件的弱引用本质对我们的模块和领域边界很好的解耦设计 ...

  5. [ZigBee] 14、Zigbee无线通信前奏——BasicRF 简单无线点对点传输协议

    本工程不带zigbee协议栈,作为过渡 实验现象: 一个EB2530(终端A)定义为发射模块,另一个EB2530(终端B)定义为接收模块. 按EB2530(终端A)上的按键,无线控制另一个EB2530 ...

  6. 手把手教你用python打造网易公开课视频下载软件2-编码相关说明

    函数getdownLoadInfo(url)主要实现核心功能:根据url地址,获取课程信息:课程名(courseTitle),课程数目(courseCount),可下载视频数目(videoCount) ...

  7. java学习笔记--this 关键字的理解

    彻底理解this 关键字的含义 this关键字再java里面是一个我认为非常不好理解的概念,:)也许是太笨的原因 this 关键字的含义:可为以调用了其方法的那个对象生成相应的句柄. 怎么理解这段话呢 ...

  8. POI生成WORD文档

    h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...

  9. C# string.format、string.connect和+=运算 效率计算

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Stri ...

  10. linux epoll模型使用注意点

    1.默认使用的水平触发方式会多次触发回调函数,但是事实上这时并不需要回调,会浪费系统性能,就是在注册