字母异位词分组(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;
}
相关推荐
浅川.2519 小时前
xtuoj 字符串计数
算法
天`南19 小时前
【群智能算法改进】一种改进的金豺优化算法IGJO[1](动态折射反向学习、黄金正弦策略、自适应能量因子)【Matlab代码#94】
学习·算法·matlab
Han.miracle19 小时前
数据结构与算法--006 和为s的两个数字(easy)
java·数据结构·算法·和为s的两个数字
AA陈超19 小时前
LyraStarterGame 5.6 项目学习路径
c++·笔记·学习·lyra
水木姚姚19 小时前
VSCode 调试 C++ 之 cin 输入
c++·windows·vscode·开发工具·调试
AuroraWanderll19 小时前
C++类和对象--访问限定符与封装-类的实例化与对象模型-this指针(二)
c语言·开发语言·数据结构·c++·算法
一只小bit19 小时前
Qt Widget 控件介绍:覆盖常用属性及API
开发语言·c++·qt·命令模式·cpp
月明长歌19 小时前
【码道初阶】LeetCode 622:设计循环队列:警惕 Rear() 方法中的“幽灵数据”陷阱
java·算法·leetcode·职场和发展
Dylan的码园19 小时前
链表与LinkedList
java·数据结构·链表
mit6.82419 小时前
博弈-翻转|hash<string>|smid
算法