aiaiask.com©

开花即结果 提问即答案

Java实现:统计长度为n且至少有k对相邻字母不同的非爆炸字符串数量
原始问题:

Java实现:统计长度为n且至少有k对相邻字母不同的非爆炸字符串数量

解析:首先,我们需要遍历字符串,计算相邻字符不同的对数。然后,根据给定的k值,判断是否满足不会爆炸的条件。最后,统计满足条件的字符串数量。

代码如下:

public class Main {
    public static void main(String[] args) {
        int n = 5;
        int k = 2;
        System.out.println(countNonExplodingStrings(n, k));
    }

    public static int countNonExplodingStrings(int n, int k) {
        int[] lastChar = new int[26];
        for (int i = 0; i < n; i++) {
            char c = (char) ('a' + i);
            if (lastChar[c - 'a'] == 0) {
                lastChar[c - 'a'] = i;
            } else {
                int diff = i - lastChar[c - 'a'] - 1;
                if (diff >= k) {
                    return i + 1;
                } else {
                    lastChar[c - 'a'] = i;
                }
            }
        }
        return n;
    }
}

这段代码定义了一个名为countNonExplodingStrings的方法,接受两个参数:字符串长度n和允许的最大相邻不同字符对数k。方法返回满足条件的字符串数量。

Java实现:统计长度为n且至少有k对相邻字母不同的非爆炸字符串数量
AI / 模型iFLYTEK
时间 / DATESeptember 11, 2023, 8:24 PM
语言zh-CN
IP / 区域广东 广州