给定一个字符串,在字符串中找到第一个连续出现至少 k 次的字符。
输入格式
第一行包含一个正整数 k,表示至少需要连续出现的次数。1≤k≤1000。
第二行包含需要查找的字符串。字符串长度在 1 到 1000 之间,且不包含任何空白符。
输出格式
若存在连续出现至少 k 次的字符,输出该字符;否则输出"No"。
输出时每行末尾的多余空格,不影响答案正确性
样例输入 复制
3
abcccaaab
样例输出 复制
c
思路首先应考虑k的值,如果k等于1,第一个数就应该被输出,如果k>1,计算连续的数,如果连续的数大于k就输出,如果没有,且最后几位数相同,但是连续相同数<k,输出“No",如果最后几位数也不相同,也需要输出”No"。
package jsk;
import java.util.Scanner;
/**
* @author 作者 E-mail: WYJ 1627407425@qq.com
* @version 创建时间:2019年7月15日 上午10:38:41
* 类说明
*/
public class 连续出现的字符 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int k = sc.nextInt();
String s = sc.next();
char[] ch = s.toCharArray();
int count = 1;
for(int i=0;i<ch.length-1;i++) {
if(k==1) {
System.out.println(ch[0]);
break;
}else {
if(ch[i]==ch[i+1]) {
++count;
if(count>=k) {
System.out.println(ch[i]);
break;
}else if(i==ch.length-2&&count<k) {
System.out.println("No");
break;
}
}else
count = 1;
if(i==ch.length-2&&count<k) {
System.out.println("No");
}
}
}
}
}