LWC 52:686. Repeated String Match

LWC 52:686. Repeated String Match

传送门:686. Repeated String Match

Problem:

Given two strings A and B, find the minimum number of times A has to be repeated such that B is a substring of it. If no such solution, return -1. For example, with A = “abcd” and B = “cdabcdab”. Return 3, because by repeating A three times (“abcdabcdabcd”), B is a substring of it; and B is not a substring of A repeated two times (“abcdabcd”).

Note:

The length of A and B will be between 1 and 10000.

思路: 重复多少次之后能够使得A包含B,关键在于何时停止重复,显然,如果A的repeat后的长度大于B时,即可停止搜索了,因为在此长度下A都不能包含B,那么repat的次数再大也没用。

代码如下:

    public int repeatedStringMatch(String A, String B) {
        int nb = B.length();
        int na = A.length();
        int times = nb / na + 2;
        StringBuilder sb = new StringBuilder(A);
        for (int i = 1; i <= times; ++i) {
            if (sb.toString().contains(B)) return i;
            else {
                sb.append(A);
            }
        }
        return -1;
    }

times的上界可以设置的大点,当然+2已经是最紧的上界了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java帮帮-微信公众号-技术文章全总结

【编程题】Java编程题五(10道)

【编程题】Java编程题六(10道) 【程序41】 题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海...

43012
来自专栏十月梦想

php获取今天星期几代码以及获取随机数

622
来自专栏我杨某人的青春满是悔恨

快速排序和高阶函数

快速排序(以下简称快排)是一种经典的排序算法,名字乍一看非常实在,细思之下却又带着点不可一世的狂傲。别的排序算法像什么插入排序、选择排序、归并排序等等,它们的名...

863
来自专栏有趣的Python

15-数据结构探险系列-图篇数据结构探险之图篇

图的存储结构:邻接矩阵(数组);邻接表(链表)有向; 十字链表(链表)有向;邻接多重表(链表)无向

823
来自专栏菜鸟前端工程师

JavaScript学习笔记002-数据类型0字符串拼接

[十位] [个位] [几何] [子集] [大圆] [小圆] [元素] [下标] [分子] [分母] [分数] [中点] [约分] [加数] [减数]

791
来自专栏coding

使用v-for遍历数据

794
来自专栏极客慕白的成长之路

C++上机考试试题解析

4322
来自专栏HansBug's Lab

3097: Hash Killer I

3097: Hash Killer I Time Limit: 5 Sec  Memory Limit: 128 MBSec  Special Judge Su...

1994
来自专栏Python爬虫与数据挖掘

Python大神用一道题带你搞定Python函数中形参和实参问题

昨天在Python学习群里有位路人甲问了个Python函数中关于形参和实参一个很基础的问题,虽然很基础,但是对于很多小白来说不一定简单,反而会被...

571
来自专栏Thomas的技术专栏

Ffmpeg对sps/pps的解析和格式转换

H264流的 SPS(序列参数集Sequence Parameter Set)和PPS(图像参数集Picture Parameter Set)记录了视频的基本编...

2192

扫码关注云+社区