zoukankan      html  css  js  c++  java
  • 刷题79——统计重复个数

    118.统计重复个数

    题目链接

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/count-the-repetitions

    题目描述

    定义由 n 个连接的字符串 s 组成字符串 S,即 S = [s,n]。例如,["abc", 3]=“abcabcabc”。

    另一方面,如果我们可以从 s1 中删除某些字符使其变为 s1,我们称字符串 s1 可以从字符串 s2 获得。例如,“abc” 可以根据我们的定义从 “abdbec” 获得,但不能从 “acbbe” 获得。

    现在给你两个非空字符串 s1 和 s2(每个最多 100 个字符长)和两个整数 0 ≤ N1 ≤ 106 和 1 ≤ N2 ≤ 106。现在考虑字符串 S1 和 S2,其中 S1=[s1,n1] 和 S2=[s2,n2] 。

    请你找出一个可以满足使[S2,M] 从 S1 获得的最大整数 M 。

    示例:

    输入:
    s1 ="acb",n1 = 4
    s2 ="ab",n2 = 2

    返回:
    2

    重难点

    1. 理解题目
    2. 找到s2字符串在s1中的循环节点

    题目分析

    1. 理解题目:S1中有n1个重复的s1字符串,S2中有n2个重复的s2字符串,在S1中找出s2的最大的个数;
    2. 找出num1个s1能够与1个s2相等,即循环节点,然后n1/num1,并向下取整;
    3. 使用指针flag指向s2的第一个元素,遍历s1,如果在s1中找到与s2相等的元素,flag++,遍历完1次,统计s1字符串的个数num1++,直到num1不小于 n1为止;
    4. 如果flag === s2字符串的长度,即指针指向s2中最后一个元素,统计s2字符串的个数num2++,此时已经找完一个s2,设flag = 0;
    5. 返回结果。
    /**
     * @param {string} s1
     * @param {number} n1
     * @param {string} s2
     * @param {number} n2
     * @return {number}
     */
    var getMaxRepetitions = function(s1, n1, s2, n2) {
        let num1 = 0;
        let len1 = 0;
        let flag = 0;
        let num2 = 0;
        while(num1 < n1){
            for(let i=0;i<s1.length;i++){
                    if(s1[i] === s2[flag]){
                        flag++;
                    }
                    if(flag === s2.length){
                        num2++;
                        flag = 0;
                    }
                
            }
            num1++;
        //是否循环 if(flag === 0){ let res = Math.floor(n1 / num1); num1 *= res; num2 *= res; } } return Math.floor(num2 / n2); };

      

  • 相关阅读:
    sfs2x 连接 mongodb
    java websocket
    webstorm 4.0 注册码
    解决 sfs2 admin tool 找不到扩展
    window 注册表五大类
    opengl 学习第二日
    java google Protobuf
    扩展 java sencha touch PhonegapPlugin
    sencha touch2 kryonet socket phonegap 通信 作者:围城
    sencha touch2 layout 笔记
  • 原文地址:https://www.cnblogs.com/liu-xin1995/p/12729584.html
Copyright © 2011-2022 走看看