zoukankan      html  css  js  c++  java
  • #Leetcode# 686. Repeated String Match

    https://leetcode.com/problems/repeated-string-match/

    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.

    代码:

    class Solution {
    public:
        int repeatedStringMatch(string A, string B) {
            int la = A.length(), lb = B.length();
            map<char, int> mp;
            for(int i = 0; i < la; i ++) {
                if(mp[A[i]] == 0) mp[A[i]] ++;
            }
            for(int i = 0; i < lb; i ++) {
                if(mp[B[i]] == 0) return -1;
            }
            if(A.find(B) != -1) return 1;
            string c = A;
            for(int i = 1; i <= lb; i ++) {
                c += A;
                if(c.find(B) != -1) return i + 1;
                if(c.length() > B.length() * 3) return -1;
            }
            return 0;
        }
    };
    

      

      又来?行吧行吧 bug 都是自己的锅 今天的 LeetCode 五题打卡

    也许一会应该醒了

  • 相关阅读:
    前端之JavaScript
    前端之CSS
    前端之HTML
    编程总结
    线程
    锁机制,信号机制,事件机制
    并发编程
    struct
    linux查看端口
    vue页面跳转传参
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/10692326.html
Copyright © 2011-2022 走看看