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

相关内容

热门资讯

彻底删除安卓系统更新,重拾纯净... 你有没有想过,你的安卓手机每次更新后,那些新功能、新界面,其实有时候并不是那么让人心动呢?有时候,我...
华为系统怎么打败安卓,揭秘如何... 你知道吗?在智能手机的世界里,最近可是掀起了一场不小的风波呢!那就是华为系统如何打败安卓系统,成为新...
安卓用户切换苹果系统,探索苹果... 你知道吗?最近在朋友圈里,有个话题可是热得不得了,那就是安卓用户纷纷切换到苹果系统。这究竟是怎么回事...
掌学派安卓系统密码,解锁便捷学... 亲爱的读者朋友们,你是否也有过这样的经历:手机里的掌学派安卓系统密码突然忘记了,心里那个急啊,就像热...
阿里云系统刷机安卓系统,轻松实... 你有没有想过,你的手机系统是不是也能像电脑一样,随时更新换代呢?今天,就让我带你一探究竟,看看阿里云...
安卓系统9.0会卡吗,流畅度解... 听说安卓系统9.0要来了,是不是又得担心手机卡成“龟速”啦?别急,今天咱们就来聊聊这个话题,看看安卓...
安卓系统平板图片分类,轻松浏览 你有没有发现,现在市面上平板电脑的种类真是五花八门,让人眼花缭乱?尤其是安卓系统的平板,更是层出不穷...
安卓系统查找位置软件,基于安卓... 手机不见了?别慌!安卓系统里藏着不少查找位置的小秘密,今天就来跟你聊聊这些神奇的小工具,让你的手机瞬...
安卓也能用ios系统,揭秘安卓... 哎呀呀,你知道吗?现在科技界可是掀起了一股热潮,那就是——安卓手机也能用iOS系统啦!是不是听起来有...
安卓系统如何清理文件,提升手机... 亲爱的手机,你是不是也觉得最近有点“胖”了呢?别担心,今天就来教你几招,让你的安卓系统文件轻松瘦身,...
安卓系统哪个平板好些,揭秘哪款... 你有没有想过,在这个科技飞速发展的时代,拥有一款性能出众的安卓平板,简直就像拥有了移动的办公室和娱乐...
安卓双系统进入动画,流畅体验与... 你知道吗?现在很多小伙伴都喜欢在自己的手机上玩转双系统,就像变魔术一样,一会儿是安卓,一会儿是iOS...
安卓系统无root权限,揭秘无... 亲爱的手机控们,你们有没有遇到过这样的情况:手机里装了各种软件,可有些功能却因为“无root权限”而...
安卓系统有区别吗,深度探讨不同... 你有没有想过,为什么你的手机里装的是安卓系统,而朋友的手机里却是苹果系统呢?这两种系统,它们之间到底...
安卓系统怎么录制唱歌,打造个人... 亲爱的音乐爱好者们,你是否曾在某个瞬间,想要记录下自己美妙的歌声,却又苦于找不到合适的方法?别担心,...
安卓系统需要安装什么,安卓系统... 你有没有想过,你的安卓手机里那些神奇的软件是怎么来的呢?没错,就是安卓系统在背后默默支持着它们。那么...
深圳苹果安卓系统下载,畅享智能... 你知道吗?最近有个游戏在朋友圈里火得一塌糊涂,那就是深圳城里3A字牌安卓版——魔Q游戏!这款游戏不仅...
苹果改安卓系统了,揭秘iOS系... 哇塞,你知道吗?苹果竟然改安卓系统了!是的,你没听错,就是那个一直以封闭著称的苹果,竟然开始向安卓系...
安卓手表更新不了系统,解锁系统... 最近是不是发现你的安卓手表更新系统时遇到了点小麻烦?别急,让我来给你支支招,让你轻松解决这个让人头疼...
海信电视 linux 安卓系统... 亲爱的读者们,你是否在寻找一款既时尚又实用的电视呢?今天,我要给你介绍一款在市场上备受好评的产品——...