每日一题——LeetCode1668.最大重复字符串

方法一 includes()+repeat()秒了

使用repeat()将word重复i次,看是否包含于sequence中,将最大的i赋值给k

var maxRepeating = function(sequence, word) {
    let k=0
    for(let i=1;i*word.length<=sequence.length;i++){
        if(sequence.includes(word.repeat(i))){
            k=i
        }
    }
    return k
};

消耗时间和内存情况:

方法二 枚举+动态规划

作者:力扣官方题解
链接:leetcode.1668最大重复子字符

var maxRepeating = function(sequence, word) {
    const n = sequence.length, m = word.length;
    if (n < m) {
        return 0;
    }

    const f = new Array(n).fill(0);
    for (let i = m - 1; i < n; ++i) {
        let valid = true;
        for (let j = 0; j < m; ++j) {
            if (sequence[i - m + j + 1] !== word[j]) {
                valid = false;
                break;
            }
        }
        if (valid) {
            f[i] = (i === m - 1 ? 0 : f[i - m]) + 1;
        }
    }

    return _.max(f);
};

消耗时间和内存情况:

方法三 KMP+动态规划

 作者:力扣官方题解
链接:​​​​​​leetcode.1668最大重复子字符

var maxRepeating = function(sequence, word) {
 const n = sequence.length, m = word.length;
    if (n < m) {
        return 0;
    }

    const fail = new Array(n).fill(-1);
    for (let i = 1; i < m; ++i) {
        let j = fail[i - 1];
        while (j !== -1 && word[j + 1] !== word[i]) {
            j = fail[j];
        }
        if (word[j + 1] === word[i]) {
            fail[i] = j + 1;
        }
    }

    const f = new Array(n).fill(0);
    let j = -1;
    for (let i = 0; i < n; ++i) {
        while (j !== -1 && word[j + 1] !== sequence[i]) {
            j = fail[j];
        }
        if (word[j + 1] === sequence[i]) {
            ++j;
            if (j === m - 1) {
                f[i] = (i >= m ? f[i - m] : 0) + 1;
                j = fail[j];
            }
        }
    }

    return _.max(f)
}

消耗时间和内存情况:

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

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

相关文章

人工智能将如何改变我们的工作?

在2023年&#xff0c;生成式人工智能成为最热门的话题。以ChatGPT为例&#xff0c;该平台拥有超1.8亿的订阅用户和近亿的周活跃用户。无论是媒体还是公众&#xff0c;都在广泛讨论生成式人工智能。尽管我对此感到好奇&#xff0c;但我不确定应该提出哪些问题&#xff0c;也不清…

题目:珠宝的最大交替和(蓝桥OJ 3791)

问题描述&#xff1a; 解题思路&#xff1a;&#xff08;思路样例从0开始赋值&#xff09; 注意点&#xff1a;1.S需要开long long 2.需要考虑如果交换的差值&#xff08;即Aj - Ai)为负数的情况。 题解&#xff1a;&#xff08;实例代码为从1开始赋值&#xff0c;因此奇偶要与…

工业数据采集网关的功能与应用-天拓四方

工业数据采集网关是一种专门用于采集、处理、传输工业现场数据的设备。它能够实时收集来自各种传感器、仪表和设备的数据&#xff0c;并通过网络将这些数据传输到云端或数据中心。同时&#xff0c;数据采集网关还具备数据清洗、转换和压缩等功能&#xff0c;确保数据的质量和传…

mybatis如何打印出完整sql语句

分两步: 1. 在application.properties配置中添加配置项: mybatis-plus.configuration.log-implorg.apache.ibatis.logging.stdout.StdOutImpl logging.level.mapper文件的包路径DEBUG (示例: logging.level.com.test.biztest.service.dalDEBUG, com.test.biztest.service.d…

九州金榜|孩子厌学怎么引导?

孩子在成长的过程中&#xff0c;尤其在上学的时候&#xff0c;孩子出现厌学情绪这是非常常见的事情&#xff0c;当孩子出现厌学情绪时&#xff0c;家长要采取什么样的方法才能帮助孩子找回学习兴趣和动力呢&#xff1f;九州金榜家庭教育给出建议&#xff0c;首先父母不应该过于…

【JAVA】Collections.sort()方法详解

一、简介 Collections.sort() 是 Java 集合框架&#xff08;Java Collections Framework&#xff09;中的一个静态方法&#xff0c;用于对列表&#xff08;List&#xff09;中的元素进行排序。此方法利用了 Java 的泛型机制&#xff0c;可以很方便地对各种类型的列表进行排序。…

FPGA-AXI4接口协议概述

假设我们要传一帧1080P的图片到显示屏显示&#xff0c;那么需要多大的储存空间呢&#xff1f; 一帧1080P的RGB565图像数据需要1920*1080*1633.1776Mb 存储空间 下图是ZYNQ-7000系列中Block RAM的大小&#xff1a; 可以看到最大存储空间的BRAM都不能存储一帧图片&#xff0c;那…

Turbo C++ v3.7.8.9的下载和安装(C语言编辑器完整安装步骤详细图文教程)·跟老吕学C语言(C语言必学教程之一)

[TOC](Turbo C v3.7.8.9的下载和安装(C语言编辑器完整安装步骤详细图文教程)) 跟老吕学C语言&#xff08;C语言必学教程之一&#xff09; 老吕是通过 Turbo C 编译器开始了 C 编程培训和开发。 本文中&#xff0c;老吕将带你了解如何下载 Turbo C&#xff0c;如何在任何最新 W…

十堰网站建设公司华想科技具有10年的网站制作经验

2018年已经结束了。 华翔科技收到了很多客户的咨询&#xff0c;他们都有一个共同的问题&#xff1a;建一个网站需要多少钱&#xff1f; 但是&#xff0c;我们都会问&#xff1a;您有什么具体需求吗&#xff1f; 大多数人的答案是否定的&#xff0c;他们只是想打听一下价格。 十…

学习JAVA的第十九天(基础)

目录 File 成员方法&#xff08;判断和获取&#xff09; 成员方法&#xff08;创建和删除&#xff09; 成员方法&#xff08;获取并遍历&#xff09; IO流 FileOutputStream FileInputStream 文件拷贝 前言&#xff1a;学习JAVA的第十八天&#xff08;基础&#xff09;…

一文读懂:公网IP地址证书

公网IP证书是一种SSL证书&#xff0c;用于验证和确认特定的公网IP地址是否实际属于申请者。如果验证通过&#xff0c;证书颁发机构将向该IP地址持有人颁发一个以IP地址为主题的SSL证书。使用公网IP证书可以有效提升IP身份的辨识度&#xff0c;减少网站链接被假冒的风险&#xf…

办公技巧分享:如何更新二维码的内容,并重新设计二维码样式?

怎样修改已经打印&#xff08;或发布&#xff09;的二维码的内容&#xff1f;还有能不能重新设计二维码的样子、颜色&#xff1f;即使二维码已经发布了&#xff0c;打印了。 其实&#xff0c;这都很容易实现。 今天的这篇教程就来详细说明如何更新二维码的内容&#xff1f;以…

这个简历你给几分?

求大家给给建议&#x1f62d;&#x1f62d; 自己算法几乎没刷过&#xff0c;项目也不咋好 打算21号开始投日常实习 好慌

Day31-计算机基础1

Day31-计算机基础1 1. 网络基础介绍1.1 什么是网络&#xff1f;1.2 为什么要有网络&#xff1f;1.3 运维人员需要学习哪些网络知识&#xff1f;1.4 按作用范围对网络分类 2.网络设备知识2.1 网络传输介质及传输信号2.2 网卡设备2.3 中继器&#xff08;RP repeater&#xff09;2…

labview的常用小技巧

1.切换&#xff1a;labview中控件函数与函数选板的使用非常频繁&#xff0c;而使用菜单来调用他们非常不方便。最简单的调用方法是&#xff1a;右击前面板&#xff0c;弹出控件选板&#xff1b;右击程序框图&#xff0c;弹出函数选板。然后按住CtrlE组合键&#xff0c;即可快速…

#QT(QString)

1.IDE&#xff1a;QTCreator 2.实验 3.记录 4.代码

Unity之PUN实现多人联机射击游戏的优化

目录 &#x1f3ae;一、 跳跃&#xff0c;加速跑 &#x1f3ae;二、玩家自定义输入昵称 &#x1f345;2.1 给昵称赋值 &#x1f345;2.2 实现 &#x1f3ae;三、玩家昵称同步到房间列表 &#x1f345;3.1 获取全部玩家 &#x1f345;3.2 自定义Player中的字段 &#…

优思学院|5S 应该由哪个部门负责推行?

很多人以为5S是生产部的事&#xff0c;负责的部门自然是生产部&#xff0c;事实上这是一个很严重的错误&#xff0c;那么&#xff0c;究竟5S 应该由哪个部门负责推行&#xff1f;我们今天就来讨论一下。如果你喜欢我们的文章&#xff0c;记得点赞和收藏。 5S是全员参与的活动&…

是什么样的父母才是真正内心最强

真正的内心强者&#xff1a;育子之道 在这个世界上&#xff0c;每个人都在追求内心的强大&#xff0c;而真正的内心强者往往是那些在育子之道上执着前行的父母。他们用自己的智慧和爱心&#xff0c;培养出独立、自信、有责任感的孩子&#xff0c;同时也锻造了自己的内心力量。…

第十一届“图灵杯“NEUQ-ACM程序设计竞赛-H(卷王)

思路&#xff1a;二分加爬树&#xff08;本人较为满意&#xff09; #include <bits/stdc.h>#define endl \n using ll long long; typedef unsigned long long ull; using namespace std;void GordenGhost();signed main() { #ifdef Gordenfreopen("in.txt",…