字母异位词分组(charyw)

字母异位词分组

题目描述

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

输入格式

第一行正整数n,表示有n个字符串(1<=n<=1000)

第二行n个字符串,空格隔开

输出格式

多组字母异位词,每组占一行,每个字符串空格隔开,每组字符次序与原字符串前后次序不变。

样例 #1

样例输入 #1

复制代码
6
eat tea tan ate nat bat

样例输出 #1

复制代码
eat tea ate
tan nat 
bat
cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
string s, x, c[1000];
map<string, string> b;
int n, cnt = 0;
int main() {
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> s;
		x = s;
		sort(x.begin(), x.end());
		if (b.find(x) == b.end()) {//新词
			b[x] = s;
			c[++cnt] = x;
		} else {//已有的就合在一起
			b[x] = b[x] + " " + s;
		}
	}
	for (int i = 1; i <= cnt; i++) {
		cout << b[c[i]] << endl;
	}
	return 0;
}
相关推荐
云格~几秒前
L1-5 吉老师的回归
开发语言·c++·人工智能·算法·职场和发展·数据挖掘·回归
短尾黑猫24 分钟前
[LeetCode 1871] 跳跃游戏 7(Ⅶ)
算法·leetcode
杰瑞学AI1 小时前
LeetCode详解之如何一步步优化到最佳解法:27. 移除元素
数据结构·python·算法·leetcode·面试·职场和发展
moz与京1 小时前
【数据结构】之二叉树
数据结构
天天扭码1 小时前
一杯咖啡的时间吃透一道算法题——2.两数相加(使用链表)
前端·javascript·算法
写个博客2 小时前
代码随想录算法训练营第十八天
算法
岩中竹2 小时前
力扣热题100—滑动窗口(c++)
数据结构·c++·算法·leetcode
originalHSL2 小时前
同步/异步日志系统
c++
LIUDAN'S WORLD2 小时前
C++零基础实践教程 函数 数组、字符串与 Vector
开发语言·c++·算法
ChoSeitaku2 小时前
NO.95十六届蓝桥杯备战|图论基础-单源最短路|负环|BF判断负环|SPFA判断负环|邮递员送信|采购特价产品|拉近距离|最短路计数(C++)
c++·蓝桥杯·图论