zoukankan      html  css  js  c++  java
  • 1668. Maximum Repeating Substring

    package LeetCode_1668
    
    /**
     * 1668. Maximum Repeating Substring
     * https://leetcode.com/problems/maximum-repeating-substring/
     * For a string sequence, a string word is k-repeating if word concatenated k times is a substring of sequence.
     * The word's maximum k-repeating value is the highest value k where word is k-repeating in sequence.
     * If word is not a substring of sequence, word's maximum k-repeating value is 0.
    Given strings sequence and word, return the maximum k-repeating value of word in sequence.
    
    Example 1:
    Input: sequence = "ababc", word = "ab"
    Output: 2
    Explanation: "abab" is a substring in "ababc".
     * */
    class Solution {
        /*
        * Time:(n), Space:O(1)
        * */
        fun maxRepeating(sequence: String, word: String): Int {
            val l = sequence.length
            var max = 0
            var count = 0
            var start = 0
            while (start + word.length <= l) {
                val end = start + word.length
                if (sequence.substring(start, end) == word) {
                    count++
                    /*
                    * jump into next right position, for example: "ababc" and "ab",
                    * start is 0,then jump into 0+2
                    * */
                    start += word.length
                    max = Math.max(max, count)
                } else {
                    //if not match, reset the count and moving start
                    count = 0
                    start++
                }
            }
            return max
        }
    }
  • 相关阅读:
    怎样评价聚类结果好坏?
    libsvm 用在 婚介数据集中 预测 用户配对
    mac 常用操作
    mac 安装 tomcat 配置
    mac 安装 maven 配置
    mac 安装 java 配置
    mac 安装 photoshop CS6
    mac 应用程序安装目录
    JavaScript、ES5和ES6的介绍和区别
    css 两列自适应布局的4种思路
  • 原文地址:https://www.cnblogs.com/johnnyzhao/p/14081363.html
Copyright © 2011-2022 走看看