【题目】人物相关性分析
思路:我是这么觉得:先把字符串按空格分割成String[],把"Alice"和"Bob"和"Alice."和"Bob."放到HashMap的键上。每次去比较就行,我感觉这样就简单点了。我写了,但是蓝桥杯的样例太古怪了,我也不知道自己的对不对,放上来大家帮我看看。
import java.util.HashMap;
import java.util.Scanner;
/**
* 人物相关性分析
*/
public class Main07 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int k = sc.nextInt();
String str = sc.nextLine();
String[] nums = str.split(" ");
HashMap<String, Integer> map = new HashMap<>();
map.put("Alice", 0);
map.put("Alice.", 1);
map.put("Bob", 0);
map.put("Bob.", 1);
int len=0;
int ans=0;
for(int i=0;i<nums.length;i++) {
if(map.containsKey(nums[i])) {
for(int j=i+1;j<nums.length;j++) {
if(map.containsKey(nums[j])&&len<=k) {
len+=nums[j].length()+map.get(nums[j])+2; //string长度加,看有没有“.”有加1没有加0,再加两个空格
ans++;
}else{
len+=nums[j].length()+2;
}
if(len>k) {
len=0;
break;
}
}
}
}
System.out.println(ans);
}
}