leetcode-49.字母异位词分组

news/2025/2/12 3:25:32/

1. 题目

在这里插入图片描述

2. 解答

#include <stdio.h>
#include <stdlib.h>
#include <string.h>#define MAX_STRLEN (10000 + 1)
#define MAX_CHARLEN (100 + 1)char map[128] = {0};
char map_start[128] = {0};void solve(char input[MAX_STRLEN][MAX_CHARLEN], int num)
{int visited[num];for (int i = 0; i < num; i++) visited[i] = 0;for (int i = 0; i < num; i++) {if (visited[i]) continue;printf("[");memset(map_start, 0, 128);for (int j = 0; j < strlen(input[i]); j++) {map_start[input[i][j]]++;}printf("%s", input[i]);visited[i] = 1;for (int j = i; j < num; j++) {if (j == num -1) printf("]");if (visited[j] || i == j) continue;memset(map, 0, 128);for (int k = 0; k < strlen(input[j]); k++) {map[input[j][k]]++;}if (memcmp(map, map_start, 128) == 0) {visited[j] = 1;printf(", %s", input[j]);}}}printf("]\n");
}int main()
{char strs[MAX_STRLEN];fgets(strs, MAX_STRLEN, stdin);strs[strlen(strs) - 1] = '\0';int num = 0;char input[MAX_STRLEN][MAX_CHARLEN] = {{0}};char *token = strtok(strs, "[, \"\"]");while(token) {printf("token:%s\n", token);memcpy(input[num], token, strlen(token));token = strtok(NULL, "[, \"\"]");num++;}solve(input, num);return 0;}

运行结果:

G3-3579:~/data/source/leetcode$ gcc 49.c
G3-3579:~/data/source/leetcode$ ./a.out 
["eat", "tea", "tan", "ate", "nat", "bat"]
token:eat
token:tea
token:tan
token:ate
token:nat
token:bat
[eat, tea, ate][tan, nat][bat]]
G3-3579:~/data/source/leetcode$ ./a.out 
["a"]
token:a
[a]]

http://www.ppmy.cn/news/1156994.html

相关文章

Web自动化测试进阶:网页中难点之expected_ conditions的应用与原理

前言 expected_conditions是selenium的一个模块&#xff0c;可以对网页上元素进行判断&#xff0c;一般配合WebDriverWait使用。 详细介绍说明 1、title_is&#xff0c;判断当前页面的标题是否等于预期&#xff0c;返回布尔值 也可以使用driver.title打印当前页面的标题 f…

U8 总账 2147024770 Automation 错误

检查电脑系统是不是缺少下面文件 C:\Program Files (x86)\Common Files\microsoft shared\DAO 如果缺少&#xff0c;则找存在的电脑拷贝一份过来即可。

部署云端SIEM解决方案的5个优势

随着组织迅速转向云端以利用云计算的优势&#xff0c;包括SIEM&#xff08;安全信息与事件管理&#xff09;在内的服务也正在向云端迁移。事实上&#xff0c;SIEM即服务正在迅速崭露头角&#xff0c;成为传统的本地SIEM解决方案的替代品。在Gartner的《采用SaaS SIEM前需回答的…

交通物流模型 | 基于自适应图卷积网络的轨道交通短时客流预测

随着城市化进程的发展和加快,城市轨道交通系统逐渐成长为一个大型网络,站点间的拓扑结构也变得越来越复杂,使得空间依赖性的捕捉变得越来越困难。多条线路的纵横交错使得站点间呈拓扑分布,传统的图卷积网络是基于先验知识生成的邻接矩阵实现的,无法反映站点之间的实际空间…

游戏开发年度报告 | 2023年游戏开发团队最流行的制作和发行的方式

近期&#xff0c;Perforce发布了《2023游戏开发与设计现状报告》。此报告调查了来自全球各地的游戏开发专业人士&#xff0c;了解他们面临的主要开发挑战、使用的工具和流程&#xff0c;以及目前最让他们对这个行业感到兴奋的方面。 龙智作为Perforce授权合作伙伴&#xff0c;将…

安捷伦E9300A射频传感器E9300B

安捷伦E9300A射频传感器E9300B E9300A 是 Agilent 使用的 18 0.1 瓦射频传感器。电子测试设备传感器测量波形的功率&#xff0c;例如多音和调制射频 (RF) 波形。传感器使用二极管检测器收集高度精确的调制测量值。测量所有调制格式的平均功率 宽动态范围&#xff08;-60 dBm 至…

11 | JpaRepository 如何自定义

EntityManager 介绍 Java Persistence API 规定&#xff0c;操作数据库实体必须要通过 EntityManager 进行&#xff0c;而我们前面看到了所有的 Repository 在 JPA 里面的实现类是 SimpleJpaRepository&#xff0c;它在真正操作实体的时候都是调用 EntityManager 里面的方法。…

32 数据分析(下)pandas介绍

文章目录 工具excelTableauPower Queryjupytermatplotlibnumpypandas数据类型Series基础的SeriesSeries的字典操作增加表的索引名字和表名字索引操作 DataFrameDataFrame 的基础使用DataFrame的列方法------理解DataFrame的行列方法------使用loc 与 iloc 对齐操作SeriesDataFr…