Leetcode3138. 同位字符串连接的最小长度

LabVIEW+数据库应用系列保姆级教程,第二篇增删查改 2021-7-2 先挖好坑 阅读详情

Every day a Leetcode

题目来源:3138. 同位字符串连接的最小长度

解法1:枚举同位子串的长度

从小到大枚举字符串 t 的长度 len。

因为字符串 s 由字符串 t 和它的同位字符串连接而成,所以 n % len = 0。

然后比较所有首字母下标为 0、len、2*len、3*len、⋯、n−len 的长为 len 的子串,所包含的字母及其个数是否一样(同位字符串)。

我的做法是用一个集合 set 保存这些排序后的子串,如果 set.size() > 1,说明不符合要求,直接退出这一次循环。当发现在一次循环中最后 set.size() == 1,说明找到了符合要求的字符串 t,此时的 len 就是同位字符串连接的最小长度。

如果这些因子都不满足要求,答案一定是 n。

代码:

class Solution
{
public:
	int minAnagramLength(string s)
	{

		int n = s.length();
		for (int len = 1; len < n; len++)
		{
			if (n % len == 0)
			{
				set<string> set;
				for (int i = 0; i < n; i += len)
				{
					string temp = s.substr(i, len);
					sort(temp.begin(), temp.end());
					set.insert(temp);
					if (set.size() > 1)
						break;
				}
				if (set.size() == 1)
					return len;
			}
		}
		return n;
	}
};

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(A*n),其中 n 是字符串 s 的长度,A 是 n 的因子个数(也就是可枚举的 len 的个数)。

空间复杂度:O(n),其中 n 是字符串 s 的长度。

DOORS需求管理实战:从汽车设计案例看模块化需求拆分技巧 本文通过一个汽车设计实战案例,深入解析了如何利用DOORS进行模块化需求拆分与管理。从捕获原始用户需求到精炼为可追踪的系统需求,再到按子系统(如自动驾驶)进行模块化拆分,文章详细展示了构建需求骨架、建立可追溯性以及实施变更控制的完整流程,帮助团队在复杂系统工程中实现从混沌到秩序的高效协同。 阅读详情

相关推荐

Unity3D赛车游戏+脚本基础

本章主要介绍Unity的基础开发流程以及涉及到的概念。这个过程需要我们学会编写一些游戏脚本,在这讲的过程中我们会完成一个赛车小游戏,因此,在讲述这些基本概念和流程的时候,会同时涉及到一点脚本的开发基础.在游戏,电影和动画中,都有一个渲染的帧率,电影是24帧/s,游戏大概是30帧/s(当然也有60帧/s的)。在unity里面1秒钟,Update方法执行了30次。1秒钟有30帧,帧与帧之所消耗的时间是不一样的,那么我如何知道上一帧用了多少时间?Time.deltaTime就是为了解决这个问题。

m0_58367586的博客 7657

力扣之同位字符串连接的最小长度(python)

给你一个字符串s,它由某个字符串t和若干t的连接而成。请你返回字符串t的可能长度。指的是重新排列一个单词得到的另外一个字符串,原来字符串中的每个字符在新字符串中都恰好只使用一次。s = "abba"2一个可能的字符串t为"ba"。s = "cdef"4一个可能的字符串t为"cdef",注意t可能等于s。

qq_67728952的博客 359

Autosar Davinci Configurator新建工程以及导入DBC和CDD

Autosar Davinci Configurator新建工程前言一、Autosar Davinci Configurator新建工程二、Autosar Davinci Configurator导入DBC和CDD1.引入库2.读入数据总结 前言 如何用 DavinciCFG 新建工程,以及导入DBC和CDD文件。 一、Autosar Davinci Configurator新建工程 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、Autosar Davinc

别再跑偏了的博客 1万+

【力扣】第 396 场周赛 A~C

A.模拟 B.枚举 C.枚举

m0_62531913的博客 325

代谢组数据分析(十五):基于python语言构建PLS-DA分类预测模型

本教程阐述典型代谢组学数据分析工作流程,用于二元分类结果的研究。流程主要步骤如下:首先从 Excel 表格导入代谢物与实验数据,接着基于汇总 QC 进行数据清洗。随后借助主成分分析可视化检查数据质量,再开展两类单变量统计。之后运用偏最小二乘判别分析(PLS - DA)实施多变量分析,此过程涵盖模型优化(对比 R2 与 Q2)、置换测试及明确模型预测指标、确定特征重要性、对模型预测数据进行可视化。最终将统计表格导出至 Excel 表格,完整呈现从数据导入到分析结果输出的全过程。

专注生信领域 2875

在 SAP Gateway 主机上把 SAML 2.0 配置为 Service Provider:从架构到落地的完整实战

本文详细介绍了在SAP Gateway主机上配置SAML 2.0作为Service Provider的全流程。从概念梳理到实际操作,涵盖了关键步骤:启用本地SP服务、通过反向代理导出元数据、在IdP侧完成对接、配置信任关系与Artifact绑定、设置NameID身份联合等核心环节。特别强调了HTTP Artifact绑定的背道通信机制和证书配置要点,并针对常见错误提供了排障指引。文章注重实操性,结合SAP官方文档与社区最佳实践,为运维团队提供了一套完整的SAML SSO实施框架。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 148

LeetCode 3138.同位字符串连接的最小长度:计数(一个数最多128个因数)

LeetCode 3138.同位字符串连接的最小长度:计数(一个数最多128个因数) 给你一个字符串 s ,它由某个字符串 t 和若干 t 的 同位字符串 连接而成。 请你返回字符串 t 的 最小 可能长度。 同位字符串 指的是重新排列一个单词得到的另外一个字符串,原来字符串中的每个字符在新字符串中都恰好只使用一次。

<font color="Pink">Tisfy的博客</font> 996

华为od统一考试B卷【宜居星球改造计划】Java&Go 实现

XXX年,人类通过对火星的大气进行宜居改造分析,使得火星已在理论上具备人类宜居的条件,由于技术原因,无法一次性将火星大气全部改造,只能通过局部处理形式,假设将火星待改造的区域为row * column的网格每个网格有3个值,宜居区、可改造区、死亡区,使用YES、NO、NA代替,YES表示该网格已经完成大气改造,NO表示该网格未进行改造,后期可进行改造,NA表示死亡区,不作为判断是否改造完成的宜居,无法穿过 初始化下,该区域可能存在多个宜居区,并且每个宜居区能同时在每个太阳日单位向上下左右四个方向的相邻格子进

MISAYAONE的博客 1万+

(LeetCode)3138. 同位字符串连接的最小长度(哈希表)

【代码】(LeetCode)3138. 同位字符串连接的最小长度(哈希表)

记录一些刷过的题并分享学习心得 409

nicegui 可视化扩展库

总体来说,这段代码使用nicegui库创建了一个具有一些基本UI元素的界面,并使用扩展库来实现更多的布局功能。这段代码使用了nicegui库创建了一个UI界面。函数导入了一个扩展库,用于实现更多的布局功能。然后又使用了一个行布局,并添加了两个按钮(在UI界面中,使用了一个卡片(在行布局中依次添加了一个标签(在卡片中使用了一个头像(接下来使用了一个行布局(设置了背景颜色为绿色。设置了居中对齐和红色。设置了间距和字体大小。设置了居中对齐和样式。设置了按钮的对齐方式。

东方佑 1019

数据仓库数据质量监控和处理方法最佳实践

指的是检查数据是否存在反常或者错误的情况,例如数值反常地过大或者过小,或者超过记录的波动值,对应的规则包括数值波动检查,最大值、最小值检查,跨表准确性等。指的是检查数据是否存在缺失的情况,这里的缺失可以是整个数据集的记录缺失,也可以是某个字段记录的缺失,对应的规则包括空值检查,表总行数检查。指的是检查数据是否符合规范,是否按照规定的格式存储,对应的规则包括正则表达式检查,字段长度检查,枚举集合检查,数值范围等。指的是检查哪些数据是重复数据或者数据的哪些属性是重复的,对应的规则例如主键唯一性检查。

大模型大数据攻城狮的专栏 895

【Leetcode 每日一题】3138. 同位字符串连接的最小长度

Leetcode 每日一题 - 同位字符串连接的最小长度

冠位优化 882

软考中级-软件设计师 知识点整理(一篇就过了 建议收藏)

软考中级-软件设计师上午题知识点总结

片言可决讼,半纸能缚龙 17万+

Leetcode3138: 同位字符串连接的最小长度

指的是重新排列一个单词得到的另外一个字符串,原来字符串中的每个字符在新字符串中都恰好只使用一次。

m0_67598823的博客 507

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

LeetCode:3138. 同位字符串连接的最小长度(枚举 Java)

它由长度相同的子串组成,所以长度只能为n的因子,遍历所有因子,同时判断组成元素是否相同即可,很简单。

Cosmoshhhyyy的博客 500

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

2024-12-15:同位字符串连接的最小长度。用go语言,给定一个字符串s,由字符串t和t的多个同位字符串连接而成。 要求计算出字符串t的最小可能长度。 同位字符串是指通过重新排列原单词得到的新字符

2024-12-15:同位字符串连接的最小长度。用go语言,给定一个字符串s,由字符串t和t的多个同位字符串连接而成。要求计算出字符串t的最小可能长度。同位字符串是指通过重新排列原单词得到的新字符串,其中原单词的每个字符在新字符串中仅使用一次。s 只包含小写英文字母。输入:s = “abba”。输出:2。解释:一个可能的字符串 t 为 “ba”。题目来自leetcode3138。

福大大架构师每日一题 1万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

3138. 同位字符串连接的最小长度

dict1对应同位符次数,则说明此同位符是可以构成字符串的。从len(s)-1开始遍历,若 len(s)%i。若存在多个同位符的情况,则选取字符串长度最小的。

smilling sky的博客 379

Leetcode 第 396 场周赛题解

Leetcode 第 396 场周赛题解

ProgramNovice的博客 827

Leetcode - 周赛396

leetcode - 周赛396,主要知识点:哈希,数学

m0_74859835的博客 871

LeetCode---396周赛

LeetCode---396周赛---模拟+前缀和+数学/贪心

V_zjs的博客 793

LeetCode 每日一题 2024/12/16-2024/12/22

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步

AlphaTao的博客 617

数学专题.

定义:在大于1的整数中,如果只包含1和本身这两个约数,就称为质数or素数。

zjjaibc的博客 500

官方题解参考与分层复现方法论:把「参考答案」变成可复现资产

本文完整复盘安全实战「官方参考与分层复现方法论」:从授权测试环境切入,围绕信息收集与漏洞验证逐层展开,最终完成漏洞验证与影响面确认。文中给出完整复现步骤与验证方法,可作为安全工程师的实战参考。

kingx3的博客 21

【FreeRTOS源码学习笔记】任务创建

【FreeRTOS源码学习笔记】任务创建

2502_90565057的博客 459

【算法拾光】链表 哈希表|K个一组翻转链表 + 两数之和

K个一组翻转链表需分段反转,借助哑节点与前驱指针维护连接,避免断链;两数之和利用哈希表实现O(1)查找,空间换时间,高效定位目标组合。前者考察链表指针操作,后者聚焦映射关系构建,均为面试高频题。

wuqingyigexiaoba的博客 273

LeetCode Hot 100 二叉树专题(二)3 题(Java)

本篇文章共 3 题:543. 二叉树的直径、102. 二叉树的层序遍历、108. 将有序数组转换为二叉搜索树。 每道题都统一按「① 题目分析 & 解题思路 → ② 常见解法(附代码)及讲解 → ③ 知识点总结」的顺序组织;代码使用 Java 编写,节点定义沿用 LeetCode 默认的 TreeNode。

2401_88612756的博客 365
上一篇: WebRTC 中的 ICE 实现
下一篇: WebRTC 中的 SDP
UestcXiye
博客等级 码龄8年 9028粉丝 1306原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UestcXiye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值