Golang | Leetcode Golang题解之第466题统计重复个数

题目:

题解:

Go 复制代码
func getMaxRepetitions(s1 string, n1 int, s2 string, n2 int) int {
	n := len(s2)
	cnt := make([]int, n)
	for i := 0; i < n; i++ {
        // 如果重新给一个s1 并且s2是从第i位开始匹配 那么s2可以走多少位(走完了就从头开始走
		p1, p2 := 0, i
		for p1 < len(s1) {
			if s1[p1] == s2[p2 % n] {
				p2++
			}
            p1++
		}
        // 统计如果是从s2的第i位开始走 给一个新的s1 s2能走多少位
		cnt[i] = p2 - i
	}
	index := 0
    // 直接模拟不断给s1 然后看s2能新走多少位
	for i := 0; i <n1; i++ {
		index += cnt[index % n]
	}
	return index / n / n2

}
相关推荐
踩坑记录6 分钟前
leetcode hot100 238.除了自身以外数组的乘积 medium
leetcode
海天一色y25 分钟前
python---力扣数学部分
算法·leetcode·职场和发展
踩坑记录43 分钟前
leetcode hot100 56.合并区间 medium
leetcode
源代码•宸1 小时前
Golang原理剖析(Map 源码梳理)
经验分享·后端·算法·leetcode·golang·map
程序员-King.1 小时前
day132—链表—K个一组翻转链表(LeetCode-25)
leetcode·链表·贪心算法
鱼跃鹰飞2 小时前
Leetcode尊享面试100题:1060. 有序数组中的缺失元素
算法·leetcode·面试
龙门吹雪2 小时前
GO 语言处理多个布尔选项的实现方案
开发语言·后端·golang·布尔选项·标识位
源代码•宸2 小时前
Golang原理剖析(map面试与分析)
开发语言·后端·算法·面试·职场和发展·golang·map
sprintzer3 小时前
1.6-1.15力扣数学刷题
算法·leetcode·职场和发展
踩坑记录3 小时前
leetcode hot100 53.最大子数组和 动态规划 medium
leetcode·动态规划