2730专题

力扣2730.找到最长的半重复子字符串

力扣2730.找到最长的半重复子字符串 找到相邻的相同字母后same ++ 再双指针找到前一组相同字母位置 class Solution {public:int longestSemiRepetitiveSubstring(string s) {int res=1,n = s.size(),same=0;for(int i=1,j=0;i<n;i++){if(s[i] == s[i-1]

2730. 找到最长的半重复子字符串(c++,滑动窗口)

给你一个下标从 0 开始的字符串 s ,这个字符串只包含 0 到 9 的数字字符。 如果一个字符串 t 中至多有一对相邻字符是相等的,那么称这个字符串 t 是 半重复的 。例如,0010 、002020 、0123 、2002 和 54944 是半重复字符串,而 00101022 和 1101234883 不是。 请你返回 s 中最长 半重复 子字符串的长度。 一个 子字符串 是一个字符串中

#哈希,广搜#洛谷 2730 SSL 1692 魔板

题目 求从初始状态最少需要多少步到目标状态。 分析 首先这道题显而易见就是广搜,不过怎样标记它的状态? 所以用哈希。 因为理论上最多需要8! =40320,按照经验来说40320*1.2=48384,不过因为它不是质数,所以就用48383 代码 #include <cstdio>#include <cstring>#define p 48383using namespace