首页 > 其他分享 >[LeetCode] 2730. Find the Longest Semi-Repetitive Substring

[LeetCode] 2730. Find the Longest Semi-Repetitive Substring

时间:2024-12-16 12:10:06浏览次数:3  
标签:digit repetitive 2730 semi Semi int Repetitive same end

You are given a digit string s that consists of digits from 0 to 9.

A string is called semi-repetitive if there is at most one adjacent pair of the same digit. For example, "0010", "002020", "0123", "2002", and "54944" are semi-repetitive while the following are not: "00101022" (adjacent same digit pairs are 00 and 22), and "1101234883" (adjacent same digit pairs are 11 and 88).

Return the length of the longest semi-repetitive substring of s.

Example 1:
Input: s = "52233"
Output: 4

Explanation:
The longest semi-repetitive substring is "5223". Picking the whole string "52233" has two adjacent same digit pairs 22 and 33, but at most one is allowed.

Example 2:
Input: s = "5494"
Output: 4

Explanation:
s is a semi-repetitive string.

Example 3:
Input: s = "1111111"
Output: 2

Explanation:
The longest semi-repetitive substring is "11". Picking the substring "111" has two adjacent same digit pairs, but at most one is allowed.

Constraints:
1 <= s.length <= 50
'0' <= s[i] <= '9'

找到最长的半重复子字符串。

给你一个下标从 0 开始的字符串 s ,这个字符串只包含 0 到 9 的数字字符。

如果一个字符串 t 中至多有一对相邻字符是相等的,那么称这个字符串 t 是 半重复的 。例如,"0010" 、"002020" 、"0123" 、"2002" 和 "54944" 是半重复字符串,而 "00101022" (相邻的相同数字对是 00 和 22)和 "1101234883" (相邻的相同数字对是 11 和 88)不是半重复字符串。

请你返回 s 中最长 半重复子字符串的长度。

思路

这是一道可以用 76 题模板解决的滑动窗口题。思路没什么需要特别结实的,可直接参见代码。

复杂度

时间O(n)
空间O(1)

代码

Java实现

class Solution {
    public int longestSemiRepetitiveSubstring(String s) {
        int n = s.length();
        int[] nums = new int[n];
        for (int i = 0; i < n; i++) {
            char c = s.charAt(i);
            nums[i] = c - '0';
        }

        int start = 1;
        int end = 1;
        int same = 0;
        int res = 1;
        while (end < n) {
            if (nums[end] == nums[end - 1]) {
                same++;
            }
            end++;
            while (same == 2) {
                if (nums[start] == nums[start - 1]) {
                    same--;
                }
                start++;
            }
            res = Math.max(res, end - start + 1);
        }
        return res;
    }
}

标签:digit,repetitive,2730,semi,Semi,int,Repetitive,same,end
From: https://www.cnblogs.com/cnoodle/p/18609728

相关文章

  • MUR3060PTR-ASEMI快恢复二极管对管MUR3060PTR
    编辑:llMUR3060PTR-ASEMI快恢复二极管对管MUR3060PTR型号:MUR3060PTR品牌:ASEMI封装:TO-247正向电流:30A反向电压:600V正向压降:0.98V~1.90V引线数量:3芯片个数:2芯片尺寸:MIL漏电流:10ua恢复时间:35ns浪涌电流:300A芯片材质:正向电压:1.90V封装尺寸:如图特性:开关电源二极管工作......
  • MUR3060PT-ASEMI快恢复二极管MUR3060PT
    编辑:llMUR3060PT-ASEMI快恢复二极管MUR3060PT型号:MUR3060PT品牌:ASEMI封装:TO-247特性:快恢复二极管正向电流:30A反向耐压:600V恢复时间:35ns引脚数量:3芯片个数:2芯片尺寸:MIL浪涌电流:300A漏电流:10ua工作温度:-55℃~150℃包装方式:500/盘;5000/箱备受欢迎的MUR3060PT-ASEMI贴......
  • MBR1645CT-ASEMI肖特基二极管MBR1645CT
    编辑:llMBR1645CT-ASEMI肖特基二极管MBR1645CT型号:MBR1645CT品牌:ASEMI封装:TO-220正向电流:16A反向电压:45V正向压降:0.44V~0.47V引线数量:3芯片个数:2芯片尺寸:MIL漏电流:10ua恢复时间:35ns浪涌电流:200A芯片材质:正向电压:1.10V封装尺寸:如图特性:小家电专用二极管工作结温:-5......
  • ASE50N06-ASEMI中低压N沟道MOS管ASE50N06
    编辑:llASE50N06-ASEMI中低压N沟道MOS管ASE50N06型号:ASE50N06品牌:ASEMI封装:TO-252批号:最新最大漏源电流:50A漏源击穿电压:60VRDS(ON)Max:15mΩ引脚数量:3芯片个数:沟道类型:N沟道MOS管、低压MOS管漏电流:ua特性:N沟道MOS管、场效应管工作温度:-55℃~175℃备受欢迎的ASE50N06MO......
  • ASE8N65S-ASEMI高压N沟道MOS管ASE8N65S
    编辑:llASE8N65S-ASEMI高压N沟道MOS管ASE8N65S型号:ASE8N65S品牌:ASEMI封装:TO-220F最大漏源电流:8A漏源击穿电压:650V批号:最新RDS(ON)Max:1.25Ω引脚数量:3沟道类型:N沟道MOS管芯片尺寸:MIL漏电流:恢复时间:5ns芯片材质:封装尺寸:如图特性:高压MOS管、N沟道MOS管工作结温:-55℃~15......
  • PS1045L-ASEMI小家电专用贴片二极管PS1045L
    编辑:llPS1045L-ASEMI小家电专用贴片二极管PS1045L型号:PS1045L品牌:ASEMI封装:TO-277正向电流:10A反向电压:45V正向压降:0.44V~0.47V引线数量:2芯片个数:1芯片尺寸:MIL漏电流:10ua恢复时间:35ns浪涌电流:200A芯片材质:正向电压:1.10V封装尺寸:如图特性:小家电专用二极管工作结温......
  • RS1MF-ASEMI小家电专用快恢复二极管RS1MF
    编辑:llRS1MF-ASEMI小家电专用快恢复二极管RS1MF型号:RS1MF品牌:ASEMI封装:SMAF特性:快恢复二极管正向电流:1A反向耐压:1000V恢复时间:35ns引脚数量:2芯片个数:1芯片尺寸:MIL浪涌电流:30A漏电流:10ua工作温度:-55℃~125℃包装方式:500/盘;5000/箱备受欢迎的RS1MF-ASEMI快恢复二极......
  • S10MC-ASEMI小家电专用整流二极管S10MC
    编辑:llS10MC-ASEMI小家电专用整流二极管S10MC型号:S10MC品牌:ASEMI封装:SMC特性:整流二极管正向电流:10A反向耐压:1000V恢复时间:35ns引脚数量:2芯片个数:1芯片尺寸:MIL浪涌电流:200A漏电流:10ua工作温度:-55℃~125℃包装方式:500/盘;5000/箱备受欢迎的S10MC-ASEMI整流二极管ASE......
  • SS520F-ASEMI小家电专用贴片二极管SS520F
    编辑:llSS520F-ASEMI小家电专用贴片二极管SS520F型号:SS520F品牌:ASEMI封装:SMAF正向电流:5A反向电压:200V正向压降:0.55V~0.95V引线数量:3芯片个数:2芯片尺寸:MIL漏电流:10ua恢复时间:35ns浪涌电流:150A芯片材质:正向电压:1.10V封装尺寸:如图特性:小家电专用二极管工作结温:-50℃......
  • AO3401A-ASEMI中低压P沟道MOS管AO3401A
    编辑:llAO3401A-ASEMI中低压P沟道MOS管AO3401A型号:AO3401A品牌:ASEMI封装:SOT-23最大漏源电流:-4.2A漏源击穿电压:-30V批号:最新RDS(ON)Max:0.06Ω引脚数量:3沟道类型:P沟道MOS管芯片尺寸:MIL漏电流:恢复时间:5ns芯片材质:封装尺寸:如图特性:中低压MOS管、P沟道MOS管工作结温:-55℃......