字母异位词分组(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;
}
相关推荐
汀、人工智能1 天前
[特殊字符] 第21课:最长有效括号
数据结构·算法·数据库架构·图论·bfs·最长有效括号
Boop_wu1 天前
[Java 算法] 字符串
linux·运维·服务器·数据结构·算法·leetcode
watson_pillow1 天前
c++ 协程的初步理解
开发语言·c++
故事和你911 天前
洛谷-算法1-2-排序2
开发语言·数据结构·c++·算法·动态规划·图论
Fcy6481 天前
算法基础详解(三)前缀和与差分算法
算法·前缀和·差分
kvo7f2JTy1 天前
基于机器学习算法的web入侵检测系统设计与实现
前端·算法·机器学习
List<String> error_P1 天前
蓝桥杯最后几天冲刺:暴力大法(一)
算法·职场和发展·蓝桥杯
Tanecious.1 天前
蓝桥杯备赛:Day6-B-小紫的劣势博弈 (牛客周赛 Round 85)
c++·蓝桥杯
迈巴赫车主1 天前
蓝桥杯3500阶乘求和java
java·开发语言·数据结构·职场和发展·蓝桥杯
流云鹤1 天前
Codeforces Round 1090 (Div. 4)
c++·算法