首页 > 编程语言 >力扣1668(java&python)-最大重复子字符串(简单)

力扣1668(java&python)-最大重复子字符串(简单)

时间:2022-11-03 10:11:27浏览次数:45  
标签:count word sequence python ababc 重复子 sb 字符串 java

题目:

给你一个字符串 sequence ,如果字符串 word 连续重复 k 次形成的字符串是 sequence 的一个子字符串,那么单词 word 的 重复值为 k 。单词 word 的 最大重复值 是单词 word 在 sequence 中最大的重复值。如果 word 不是 sequence 的子串,那么重复值 k 为 0 。

给你一个字符串 sequence 和 word ,请你返回 最大重复值 k 。

 

示例 1:

输入:sequence = "ababc", word = "ab"
输出:2
解释:"abab" 是 "ababc" 的子字符串。
示例 2:

输入:sequence = "ababc", word = "ba"
输出:1
解释:"ba" 是 "ababc" 的子字符串,但 "baba" 不是 "ababc" 的子字符串。
示例 3:

输入:sequence = "ababc", word = "ac"
输出:0
解释:"ac" 不是 "ababc" 的子字符串。
 

提示:

1 <= sequence.length <= 100
1 <= word.length <= 100
sequence 和 word 都只包含小写英文字母。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/maximum-repeating-substring
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路:

先记录一下本菜鸟的错误解题思路:设立双指针i, j, 分别指向sequence和word的开头,开始遍历两字符串,如果两个指针所指向的字符相同,则让两指针同时向前移动一位,当word的指针超过它的长度时,说明前面的字符已经符合条件,则让count 加1,j 重置为0,如果两个指针所指向的字符相同,则让两指针同时向前移动一位,否则,更新最大最大连续长度并让sequence指针向前移动一位。

第一个错误:用例sequence= "a",word= "a"过不了

第二个错误:用例sequence="aaabaaaabaaabaaaabaaaabaaaabaaaaba",word= "aaaba"过不了

一、暴力

直接StringBuilder拼接word,首先判断sequence中是否包含word,如果包含,则count++,然后sb里面再拼接一个word,继续判断sequence中是否包含word,直至不包含就退出循环。

java代码:

 1 class Solution {
 2     public int maxRepeating(String sequence, String word) {
 3         int count = 0;
 4         StringBuilder sb = new StringBuilder(word);
 5         while(sequence.contains(sb)){
 6             count++;
 7             sb.append(word);
 8         }
 9         return count;
10     }
11 }

 python3代码:

 1 class Solution:
 2     def maxRepeating(self, sequence: str, word: str) -> int:
 3         count = 0
 4         sb = ""
 5         while len(sb) < len(sequence):
 6             sb += word
 7             if sb in sequence:
 8                 count += 1
 9             else:
10                 break
11         return count

标签:count,word,sequence,python,ababc,重复子,sb,字符串,java
From: https://www.cnblogs.com/liu-myu/p/16853467.html

相关文章

  • Python多进程
    title:python多进程date:2022-10-2718:51:33categories:-教程tags:-python大家看过前面文章的应该都知道python中的GIL的存在,也就是多线程的时候,同一时间......
  • Python+requests获取重定向的url地址
       importrequestsurl='http://1234by.com'res=requests.get(url,headers={"Content-Type":"application/json"})redit_list=res.history#可以看出获取......
  • Java高级架构师-Java基础(集合)
    Java高级架构师-Java基础(集合)集合框架Java.util.CollectionCollection接口中的共性功能1.添加boobleanadd(Objectobj);往该集合中添加元素,一次添加一个bo......
  • Java中“成员变量,局部变量,静态变量”三者区别说明
    转自:http://java265.com/JavaCourse/202111/1728.html下文笔者讲述java中成员变量,局部变量,静态变量的不同之处,如下所示: 成员变量局部变量静态变量定义位置......
  • java命令行如何编译运行带package(包)的程序
    先用javac编译,带参数-djavac-d.****.java 然后,在当前目录下(不要到****子目录),运行java即可。java***.*****如:javac-d.FuctionDemo2.javajavacom.Fuct......
  • 开发语言介绍——Java
    开发语言介绍——Java一、基本说明1.Java语法的特点关键字都是小写字母标识符没有长度限制使用Unicode编码Java是一种强类型的语言,变量在编译之前一定要被显示的声明......
  • python汉字转拼音,中英文单词互译,中英文简单句子翻译
    由于在学java,需要定义变量,拼音不好,英文也差,定义变量成了头痛的事,所以写这个脚本#!/usr/bin/python3#pip升级不了时可以python3get-pip.py#需要安装pinyin包pi......
  • 如何从 Java 的 List 中删除第一个元素 remove
    如何从Java的List中删除第一个元素remove概述在这个实例中,我们将会演示如何删除在Java中定义的List的第1个元素。我们将会针对这个问题使用List接口的......
  • Java获取当前环境
    配置环境spring.profiles.active=dev获取当前环境方法一通过@Value注解获取@Value("${spring.profiles.active}")privateStringenv;方法二在配置文件中通过env......
  • 盘点一个使用Python实现Excel数理统计的实战问题
    大家好,我是皮皮。一、前言前几天在小小明大佬的Python交流群中遇到一个粉丝问了一个使用Python实现Excel数理统计的实战问题,觉得还挺有用的,这里拿出来跟大家一起分享下。......