力扣Lc22--- 459. 重复的子字符串(java版)-2024年3月27日

1.题目描述
在这里插入图片描述

2.知识点
(1)
在Java中,.repeat(i) 是一个字符串方法,用于将原始字符串重复 i 次。

例如,对于字符串 “ab”,使用 .repeat(3) 将会返回 “ababab”。

public class RepeatExample {
    public static void main(String[] args) {
        String str = "ab";
        String repeatedStr = str.repeat(3);
        System.out.println(repeatedStr);  // 输出: ababab
    }
}

(2)就是先把字符串/2,这是重复子串的最大长度,然后再从总的字串长度去找字串的因数。
为什么从2开始:
子串的最小长度是1,即单个字符。然而,单个字符显然无法重复构成整个字符串,因此我们从长度为2的子串开始考虑。即考虑从两个字符开始的子串,例如"ab"、“bc”、"cd"等。

遍历到s长度的一半:
考虑以下两点:
(1)子串的最大长度:
子串的最大可能长度是s的一半。这是因为如果子串的长度超过了s的一半,那么这个子串就无法重复构成整个字符串s。例如,对于字符串"ababab",其长度为6。在这种情况下,子串的最大可能长度是3,因为子串"ababab"(长度为6)显然不能由任何子串重复多次构成。
(2)优化性能:
从长度为s的一半开始遍历是一个性能优化。因为如果子串的长度超过了s的一半,那么重复多次的子串加起来的长度就会超过s的长度,从而无法构成整个字符串s。这样,我们就可以避免检查那些显然不可能成功的子串长度。
(3)n%i==0,说明字串的串数是整数,i代表个数
3.代码实现

class Solution {
    public boolean repeatedSubstringPattern(String s) {

        for(int i=2;i<=s.length()/2;i++)
        {
            if(s.length()%i==0)
            {
                if(s.substring(0,s.length()/i).repeat(i).equals(s))
                {
                    return true;
                }
            }
        }
        return false;


    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/493387.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

区块链技术与大数据结合的商业模式探索

hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验&#xff01;希望我的分享能帮助到您&#xff01;如需帮助可以评论关注私信我们一起探讨&#xff01;致敬感谢感恩&#xff01; 随着区块链技术和大数据技术的不断发展&#xff0c;两者的结合为企业带来了新的商业模式…

WordPress建站:打造您的网站的绝佳选择

前不久&#xff0c;我们遇到一些Hostease客户咨询如何可以快速搭建网站。我们通常推荐客户使用wordpress建站。WordPress建站是指利用WordPress这套免费开源的建站系统来构建网站。类比于电脑软件&#xff0c;安装WordPress后即可轻松搭建网站&#xff0c;其优势不言而喻。 SEO…

DBeaver修改sql语句保存位置

1、dbeaver通过工作空间方式来管理Script的sql脚本以及数据库连接。 工作空间&#xff0c;其实也就是一个文件夹 默认保存路径查看&#xff1a; 文件--> 切换工作空间 --> 其他 sql脚本的保存位置默认在工作空间下的 \General\Scripts 文件夹中。 2、 3、点击浏览&#…

HTML(三)---【列表、表格、块元素、行元素的使用】

零.前言 本文主要介绍列表、表格、块内元素、行内元素。 前置知识及常见标签使用&#xff0c;请见前章&#xff1a; HTML&#xff08;一&#xff09;---【基础】-CSDN博客 HTML&#xff08;二&#xff09;---【常见的标签使用】-CSDN博客 一.<li>表内列表项 1.定义…

C语言例4-14:从键盘输入小写字母转换成大写字母并输出。

代码如下&#xff1a; //从键盘输入小写字母转换成大写字母并输出。 #include<stdio.h> int main(void) {char c1,c2;printf("输入小写字母&#xff1a; \n");c1 getchar(); //从键盘输入一个字符putchar(c1);printf(",%d\n",c1);c2 c1-32; …

Java智慧工地源码 智慧工地的价值体现 开发一套智慧工地系统需要多少钱

智慧工地是智慧地球理念在工程领域的行业具现&#xff0c;是一种崭新的工程全生命周期管理理念。它运用信息化手段&#xff0c;通过三维设计平台对工程项目进行精确设计和施工模拟&#xff0c;围绕施工过程管理&#xff0c;建立互联协同、智能生产、科学管理的施工项目信息化生…

【射频连接器】RF Jack Plug Female Male Socket Pin

SMA Jack Female (Socket) SMA Plug Male (Pin) 总结&#xff1a; 中间是针的plug插头&#xff1b; 中间是孔的jack 插座&#xff1b;以上是一般的正常逻辑&#xff1b; 你说有没有 Jack Male &#xff1f;Plug Female? 嗯&#xff1f; 有的 Jack Male Plug Female

力扣面试150 删除有序数组中的重复项 双指针

Problem: 26. 删除有序数组中的重复项 思路 &#x1f469;‍&#x1f3eb; 三叶题解 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( 1 ) O(1) O(1) Code class Solution {public int removeDuplicates(int[] nums) {int j 0, n nums.length;for(int i 0;…

【数学】 【分数】 【字符串】972. 相等的有理数

本文涉及知识点 数学 分数 字符串 LeetCode972. 相等的有理数 给定两个字符串 s 和 t &#xff0c;每个字符串代表一个非负有理数&#xff0c;只有当它们表示相同的数字时才返回 true 。字符串中可以使用括号来表示有理数的重复部分。 有理数 最多可以用三个部分来表示&…

后端代码1

// 新增 public JsonResultVo<?> create(ApiIgnore RequestAttribute(ConstVal.REQ_USER) BaseUser baseUser,RequestBody IUTradeBuyPreserveVo iuTradeBuyPreserveVo) {//权限判断if (!baseCompanyService.dataPermission(baseUser, iuTradeBuyPreserveVo.getCompanyi…

JavaScript、ES6与微信小程序之间的联系:工具箱、升级与新房子

JavaScript、ES6和微信小程序三者之间有什么联系&#xff1f;我想&#xff0c;作为初学者还是有点蒙。下面作一个简单的分析&#xff0c;供大家参考。 首先,我们可以把JavaScript想象成一个非常强大的工具箱,里面装满了各种各样的工具。这些工具可以帮助我们完成各种任务,比如…

红外遥控NEC协议

红外遥控技术在我们的日常生活中应用非常广泛&#xff0c;比如我们的遥控器。通过遥控器发射红外光&#xff0c;电视&#xff0c;空调装有红外接收管&#xff0c;负责接受红外光。那么本节将重点介绍其中的原理。 一、工作原理 上图的HS0038便是装在空调&#xff0c;电视上的红…

Leo赠书活动-20期 《一本书掌握数字化运维方法,构建数字化运维体系》

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 赠书活动专栏 ✨特色专栏&#xff1a;…

KingSCADA|如何以要求格式显示日期星期时间

哈喽,你好啊,我是雷工! 在做SCADA项目时,难免需要显示日期星期时间,如何通过系统变量转换为客户要求的格式显示。 下面以“YYYY-MM-DD 星期* 时:分:秒”的格式为例,介绍如何实现任意格式显示。 (一)效果演示 以下为以“YYYY-MM-DD 星期* 时:分:秒”的格式显示日期…

pytest教程-20-初识插件

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 上一小节&#xff0c;我们学习了pytest.ini配置文件的使用方法&#xff0c;本小节我们讲解一下pytest的插件功能。 pytest 插件为测试框架提供了额外的功能和扩展&#xff0c;使得测试过程更加强大、灵活和易于管…

IRIS / Chronicles 数据库结构

对于我们用得最多的关系型数据库来说&#xff0c;首先有的是数据库名字&#xff0c;然后是表名字&#xff0c;然后就是字段名&#xff0c;随后就是一条一条的数据。 对于 IRIS 来说&#xff0c;因为是使用的层级数据库&#xff0c;所以上面的定义就不能完全的照搬了&#xff0…

指针知识大礼包,让你的编程之路更顺畅(三)

1. 字符指针变量 2. 数组指针变量 3. ⼆维数组传参的本质 4. 函数指针变量 5. 函数指针数组 6. 转移表 正文开始 1. 字符指针变量 在指针的类型中我们知道有⼀种指针类型为字符指针char* ; ⼀般使⽤: int main(){char ch w;char *pc &ch;*pc w;return 0; 还…

Linux-2 Linux的权限

目录 1.什么是权限&#xff1f; 2.权限的本质 3.Linux中的用户 普通用户与root用户相互转换 普通用户不变root&#xff0c;以root身份执行一个命令 LInux中的角色 4.Linux文件的权限 5.快速掌握修改权限的做法 修改权限 6.对比权限有无表现 对于普通用户&#xf…

RHCE-3-远程登录服务

简介 概念 远程连接服务器通过文字或图形接口方式来远程登录系统&#xff0c;让你在远程终端前登录linux主机以取得可操作主机接口&#xff08;shell&#xff09;&#xff0c;而登录后的操作感觉就像是坐在系统前面一样 功能: 分享主机的运算能力 服务器类型&#xff1a;有限…

抖店又开始清查违规了!想要避免这个问题,产品部分一定要做好!

大家好&#xff0c;我是电商小布。 最近一段时间&#xff0c;抖音平台又开始清查严重违规情况了&#xff0c;有很多在选品上打“擦边球”的商家都被关进了小黑屋。 主要就是产品上的高仿&#xff0c;模仿品牌的产品、外观&#xff0c;以及产品的图片&#xff0c;带有一些品牌…