假设我们有一个字符串 s,我们必须找到给定字符串的最长子串 T 的长度(仅包含小写字母),这样 T 中的每个字符出现的次数不少于 k 次。因此,如果字符串是“ababbc”并且 k = 2,则输出将为 3,最长子串将为“ababb”,因为有两个 a 和三个 b。为了解决这个问题,我们将遵循以下步骤:创建一个名为 longestSubstring() 的递归函数,它接收字符串 s 和大小 k;如果 k = 1,则返回字符串的大小;如果大小……阅读更多
假设我们有一个编码字符串;我们必须返回其解码字符串。编码规则为:k[encoded_string],这表示方括号内的编码字符串重复了 k 次。我们可以假设原始数据不包含任何数字字符,并且数字仅用于那些重复数字 k。因此,如果输入类似于“1[ba]2[na]”,则输出将为“banana”。为了解决这个问题,我们将遵循以下步骤:创建一个空栈,设置 i := 0;当 i < 字符串大小时,如果 s[i] 是 ‘]’,res := 从栈中删除元素……阅读更多
假设有一个初始数组 arr,考虑每天我们都使用前一天的数组生成一个新数组。在第 i 天,我们将对第 i-1 天的数组执行以下操作以生成第 i 天的数组。条件如下:如果一个元素小于其左侧和右侧相邻值,则此元素递增;如果一个元素大于其左侧和右侧相邻值,则此元素递减;第一个和最后一个元素将保持不变。几天后,数组……阅读更多