第十届省赛——8人物相关性分析(数组)
创始人
2024-06-01 05:18:27
0

题目:

试题 H: 人物相关性分析

时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分

【问题描述】

小明正在分析一本小说中的人物相关性。他想知道在小说中 Alice 和 Bob

有多少次同时出现。

更准确的说,小明定义 Alice 和 Bob“同时出现”的意思是:在小说文本

中 Alice 和 Bob 之间不超过 K 个字符。

例如以下文本:

This is a story about Alice and Bob. Alice wants to send a private message to Bob.

假设 K = 20,则 Alice 和 Bob 同时出现了 2 次,分别是”Alice and Bob”

和”Bob. Alice”。前者 Alice 和 Bob 之间有 5 个字符,后者有 2 个字符。

注意:

1. Alice 和 Bob 是大小写敏感的,alice 或 bob 等并不计算在内。

2. Alice 和 Bob 应为单独的单词,前后可以有标点符号和空格,但是不能

有字母。例如 Bobbi 並不算出现了 Bob。

【输入格式】

第一行包含一个整数 K。

第二行包含一行字符串,只包含大小写字母、标点符号和空格。长度不超

过 1000000。

【输出格式】

输出一个整数,表示 Alice 和 Bob 同时出现的次数。

【样例输入】

20

This is a story about Alice and Bob. Alice wants to send a private message to Bob.

【样例输出】

2

【评测用例规模与约定】

对于所有评测用例,1 ≤ K ≤ 1000000。

分析:

首先先把这行代码转为数组,但保留空格和符号,然后遍历数组只要数组中有等于Alice的那么从下一项开始寻找Bob,找到之后,把他们两中间的所有字符串长度加起来,就是他们两中间的长度,只要这个长度小于等于k就是符合规定的,count加一

第二段代码先是查找Bob然后再查找Alice。方法一样

下面是题目中用到的字符

"\\s" 一个空格

"\\." 字符.

步骤:

package 第十届省赛;import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner;public class 人物相关性分析 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int k = scanner.nextInt(); // 最大间距值scanner.nextLine();// 吸取回车键换行String str1 = scanner.nextLine(); // 字符串int count = 0; // 答案// 1、按空格和.进行分割字符串String[] st = str1.split("\\s+|\\.");System.out.println(Arrays.toString(st));for (int i = 0; i < st.length; i++) {if (st[i].equals("Alice")) {for (int j = i + 1; j < st.length; j++) {if (st[j].equals("Bob")) {int sum = 1;for (int a = i + 1; a < j; a++) {sum += st[a].length() + 1;}if (sum <= k) {System.out.println("间距为" + sum);count++;}}}}}for (int i = 0; i < st.length; i++) {if (st[i].equals("Bob")) {for (int j = i + 1; j < st.length; j++) {if (st[j].equals("Alice")) {int sum = 1;for (int a = i + 1; a < j; a++) {sum += st[a].length() + 1;}if (sum <= k) {System.out.println("间距为" + sum);count++;}}}}}System.out.println(count);}}

相关内容

热门资讯

surface2 接口-Sur... 嘿,大家好!今天我要聊聊我最近超级迷恋的一个小玩意儿——Surface2接口!这东西,简直是我的数字...
wmiprvse.exe sy... 大家好,今天我要和大家聊聊一个听起来有点高大上,但实际上我们每天都在和它打交道的东西——wmiprv...
卢瓦loic下载-卢瓦 Loi... 嘿,朋友们,今天咱们来聊聊那个让人心跳加速的话题——卢瓦Loic下载!这可不是普通的下载,这是一场关...
双专线叠加千兆路由器:解决网速... 哎呀,说到这个双专线叠加千兆路由器,我这心里就激动得不行!你知道吗,这玩意儿简直就是网络世界的超级英...
探险队长带你揭开名字查询身份证... 大家好,我是你们的探险队长,今天我们要一起潜入一个神秘的世界——名字查询身份证号码查询系统。这听起来...
绿云系统下载:一场没有硝烟的战... 嘿,大家好,我今天真是有一肚子话要说!绿云系统下载,这个名字听起来就像是从天而降的神秘礼物,对吧?我...
winebottler怎么使用... 大家好,我是那个总是对新鲜玩意儿充满好奇的小王。今天要跟大家聊的,是那个让我的Mac变得超级全能的神...
家庭省电宝怎安装-家庭省电宝安... 哎呀,说到家庭省电,我可是有好多小窍门呢!今天就来聊聊我家那个小宝贝——家庭省电宝的安装,简直是太简...
ecshop模板堂去除方法-去... 嘿,大家好,我今天真是气不打一处来!你们有没有试过折腾那个ECShop模板堂?我告诉你,简直是噩梦一...
共享总线技术:电子设备间的高速... 嘿朋友们,今天咱们聊聊这个“共享总线”技术,这可不是什么高深莫测的东西,其实它就是一条电子设备之间相...
呼吸道合胞病毒 用文明-呼吸道... 哎呀,说到这个呼吸道合胞病毒,真是让人头疼不已!这小东西,看不见摸不着的,却能在我们不经意间悄悄地侵...
surface1和2的区别-S... 哟,大家好呀!今天咱们就来聊聊那些让人又爱又恨的Surface1和Surface2。这两个小家伙,虽...
foobar2000 wasa... 嘿,大家好!今天我得说说我和Foobar2000还有WASAPI的那点事儿。你们知道吗,每次我打开这...
findata破解版-Find... 嘿,大家好!今天咱们聊点刺激的,说说那个最近在圈子里火得不行的Findata破解版。你们是不是也听说...
initization fai... 哎,你知道吗?今天我真是倒了八辈子霉了!就在我以为一切都要开始的时候,砰!一切都崩了!对,就是那个该...
华硕e403n 改win7-华... 哎呀,说到这事儿我就激动得不行!你敢信?我那台老古董华硕e403n,本以为它只能乖乖地用着那个什么w...
0x0000000050电脑蓝... 哎呀,我的天啊!刚刚还在激情四射地玩游戏,电脑突然就蓝屏了,屏幕上那个恐怖的0x0000000050...
肛瘘手术 多长时间不疼-肛瘘手... 哎呀,说到肛瘘手术,真是让人头疼又屁股疼!手术后那疼痛,简直让人怀疑人生。但是,亲们,别急,疼痛总会...
windows bluetoo... 嘿,大家好!今天我想聊聊我生活中的一个小英雄——Windows蓝牙。你知道吗,这个小东西真的是我的生...
阿西吧韩国什么意思-阿西吧韩国... 哎呀呀,说到“阿西吧韩国”,你是不是也和我一样,心里有点小激动?这可不是什么正式的词汇,但它在年轻人...