欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 子串简写(JAVA)一维前缀和, 蓝桥杯

子串简写(JAVA)一维前缀和, 蓝桥杯

2025/5/13 2:21:40 来源:https://blog.csdn.net/weixin_74882709/article/details/147857190  浏览:    关键词:子串简写(JAVA)一维前缀和, 蓝桥杯

在这里插入图片描述
这个题用前缀和,开两个数组,一个存前n个字符数据的c1的数字个数,另一个前n个字符c2的数字个数,然后遍历一次加起来,有一个测试点没过去,把那个存最后数的换成long,应该是这题数据范围给的不对,按说不会超。

package com.js.datastructure.recursion.蓝桥;import java.util.Scanner;public class 子串简写_前缀和 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int k = scanner.nextInt();String s = scanner.next();char c1 = scanner.next().charAt(0);char c2 = scanner.next().charAt(0);int l = s.length();int[] num1 = new int[l+1];int[] num2 = new int[l+1];for (int i = 0; i < l; i++) {if(s.charAt(i) == c1){num1[i+1] = num1[i] + 1;}else {num1[i+1] = num1[i];}if(s.charAt(i) == c2){num2[i+1] = num2[i] + 1;}else{num2[i+1] = num2[i];}}long num = 0;for (int j = 1; j < l-k+2; j++) {if(num1[j] > num1[j-1]){num = num + num2[l] - num2[j+k-2];}}System.out.println(num);}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词