第十届省赛——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);}}

相关内容

热门资讯

安卓车载音响系统,智能驾驶的音... 你有没有发现,随着科技的发展,汽车已经不仅仅是一个代步工具,它更像是一个移动的家。而在这个移动家中,...
华为安卓系统使用方法,畅享智能... 你有没有想过,手机里的操作系统就像是我们生活的城市,各有各的风采和特色?今天,就让我带你走进华为安卓...
安卓系统淘宝直播悬浮窗,安卓系... 你有没有发现,现在用安卓手机看淘宝直播的时候,那个悬浮窗功能简直太方便了!想象你正在追剧,突然直播间...
拈花湾攻略系统和安卓,安卓系统... 你打算去拈花湾游玩吗?别急,别急,让我来给你支个招,让你玩得开心又尽兴!拈花湾,这个充满禅意的古镇,...
怎么切换到安卓系统界面,探索安... 你有没有想过,为什么你的手机界面看起来和别人不一样呢?是不是好奇怎么才能把你的安卓系统界面切换成别人...
安卓m3系统,功能升级与用户体... 你有没有发现,你的安卓手机最近是不是有点不一样了?是不是感觉运行速度更快了,界面也更美观了?哈哈,那...
华为手机系统和安卓,打造独特体... 你有没有发现,最近华为手机在市场上可是越来越火了?这不,我就来跟你聊聊华为手机系统和安卓的那些事儿,...
安卓打不开系统软件,安卓系统软... 最近是不是你也遇到了安卓手机打不开系统软件的尴尬情况?别急,让我来给你详细说说这个问题的原因和解决方...
安卓系统哪个管家好,哪款管家更... 手机里的安卓系统,就像一个热闹的大家庭,每个人都在寻找那个最贴心的管家。那么,安卓系统里哪个管家最好...
忧思安卓系统升级,探索新功能与... 最近手机又闹腾起来了,不是闹铃,而是安卓系统升级的闹钟。你有没有和我一样,一边期待着新功能的到来,一...
华为手表连接安卓系统,智能生活... 你有没有发现,最近华为手表在科技圈里可是火得一塌糊涂呢!这不,我就来给你好好聊聊这款神奇的小玩意儿—...
网络版电视安卓系统,网络版电视... 你有没有发现,现在看电视的方式都变了?没错,就是那个我们每天离不开的屏幕,它已经悄悄地升级换代了。今...
安卓手机虚拟小米系统,功能与体... 你有没有想过,你的安卓手机里竟然可以装上小米的操作系统?没错,就是那个以简洁和高效著称的小米系统!今...
oppo 安卓9.0系统好吗,... 最近手机圈可是热闹非凡呢!OPPO新推出的这款手机,搭载了安卓9.0系统,不少小伙伴都在问:这安卓9...
安卓9和10系统对比,功能升级... 你有没有发现,手机系统更新换代的速度简直就像小孩子的成长一样快?这不,安卓9和10系统已经悄悄地走进...
华为平板系统切换安卓,体验全新... 你有没有发现,最近华为平板的新鲜事儿可不少呢!听说他们家的新系统切换到了安卓,这可真是让人眼前一亮啊...
小米note安卓5.0系统下载... 你有没有发现,小米Note这款手机真的是越来越受欢迎了呢?尤其是它的安卓5.0系统,简直让人爱不释手...
安卓系统90怎么样,革新体验与... 你有没有听说安卓系统90的最新版本啦?这可是最近科技圈的大热门呢!今天,我就来给你详细聊聊这个安卓系...
国内安卓系统哪家好,国内安卓系... 你有没有想过,手机里的安卓系统就像是我们生活中的各种品牌,各有各的特色和魅力呢?今天,就让我带你来一...
安卓系统的大小设置方法,安卓系... 手机里的安卓系统是不是有时候让你觉得有点“庞大”,占用太多空间,让你想给它做个“瘦身”呢?别急,今天...