第十届省赛——8人物相关性分析(数组)

news2024/12/28 22:36:58

题目:

试题 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);

    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/401482.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微小目标识别研究(2)——基于K近邻的白酒杂质检测算法实现

文章目录实现思路配置opencv位置剪裁实现代码自适应中值滤波实现代码动态范围增强实现代码形态学处理实现代码图片预处理效果计算帧差连续帧帧差法原理和实现代码实现代码K近邻实现基本介绍实现代码这部分是手动实现的&#xff0c;并没有直接调用相关的库完整的代码——调用ope…

千川投放50问(完)!如何跑出高投产?

第四十一问&#xff1a;计划初期成本很高&#xff0c;是否要关掉重新跑&#xff1f;首先看一下是不是初期回传延迟导致的成本偏高。如果成本没有高的&#xff0c;不建议暂停&#xff0c;先观察一段时间数据&#xff0c;给它一点学习时间。当系统积累过足够的模型之后&#xff0…

08-Oracle游标管理(定义,打开、获取数据及关闭游标)

目标 1.确定何时需要显示游标2.声明、打开和关闭显示游标3.从显示游标中提取数据4.了解与游标有关的属性5.使用游标FOR循环检索游标中的数据6.在游标FOR循环的子查询中声明游标7.评估使用逻辑运算符结合在一起的布尔条件游标 1、在使用一个PL/SQL块来执行DML语句或只返回一行结…

2月更新 | Visual Studio Code Python

我们很高兴地宣布&#xff0c;2023年2月版 Visual Studio Code Python 和 Jupyter 扩展现已推出&#xff01;此版本包括以下改进&#xff1a;从激活的终端启动 VS Code 时的自动选择环境 使用命令 Python: Create Environmen 时可选择需求文件或可选依赖项 预发布&#xff1a;改…

性能优化之HBase性能调优

HBase是Hadoop生态系统中的一个组件&#xff0c;是一个分布式、面向列存储的内存型开源数据库&#xff0c;可以支持数百万列&#xff08;MySQL4张表在HBase中对应1个表&#xff0c;4个列&#xff09;、超过10亿行的数据存储。可用作&#xff1a;冷热数据分离HBase适合作为冷数据…

坐标系、视窗体(裁剪区域),存储着色器

坐标系 两种常见的投影/坐标系&#xff0c;正交和透视&#xff0c;实际上只是特定的4x4变换矩阵。啥都不规定默认的就是-1.0~1.0的笛卡尔坐标系。 正交&#xff1a; 在opengl的核心框架下&#xff0c;没有提供任何内置渲染管线&#xff0c;所以在提交一个几何图形进行渲染之前&…

Ubuntu Protobuf 安装(测试有效)

安装流程 下载软件 下载自己要安装的版本&#xff1a;https://github.com/protocolbuffers/protobuf 下载源码编译&#xff1a; 系统环境&#xff1a;Ubuntu16&#xff08;其它版本亦可&#xff09;&#xff0c;Protobuf-3.6.1 编译源码 cd protobuf# 当使用 git clone 下来的…

【C语言】操作符详解总结(万字)

操作符详解1. 操作符分类2. 算术操作符3. 移位操作符3.1 整数的二进制是怎么形成的3.2 左移操作符3.3 右移操作符4. 位操作符5. 赋值操作符6. 单目操作符6.1 单目操作符介绍6.2 sizeof 和 数组7. 关系操作符8. 逻辑操作符9. 条件操作符9.1 练习19.2 练习210. 逗号表达式11. 下标…

【Vue】vue2导出页面内容为pdf文件,自定义选中页面内容导出为pdf文件,打印选中页面内容,预览打印内容

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、安装html2canvas和jspdf二、导出pdf使用步骤1.在utils文件夹下创建htmlToPdf.js2.在main.js中引入3.在页面中使用三、打印预览1. 引入print-js2.页面中impor…

PG数据库实现高可用方案(包括通用型方案Corosync+pacemaker协作)

实现高可用方案首先了解一下高可用集群高可用&#xff1a;透明切换&#xff0c;故障切换&#xff0c;连接管理器/集群管理器pgpool-Ⅱ&#xff1a;连接池、复制、负载均衡功能PatroniCorosyncpacemaker高可用解决方案Corosyncpacemakercorosyncpacemaker架构协作资源分配&#…

功耗降低99%,Panamorph超清VR光学架构解析

近期&#xff0c;投影仪变形镜头厂商Panamorph获得新型VR显示技术专利&#xff08;US11493773B2&#xff09;&#xff0c;该专利方案采用了紧凑的结构&#xff0c;结合了Pancake透镜和光波导显示模组&#xff0c;宣称比传统VR方案的功耗、发热减少99%以上&#xff0c;可显著提高…

通讯录(C++实现)

系统需求通讯录是一个可以记录亲人、好友信息的工具。本章主要利用C来实现一个通讯录管理系统系统中需要实现的功能如下:添加联系人:向通讯录中添加新人&#xff0c;信息包括&#xff08;姓名、性别、年龄、联系电话、家庭住址&#xff09;最多记录1000人显示联系人:显示通讯录…

【006】Redis主从/哨兵/分片集群Docker搭建

项目源码合集 https://gitee.com/qiuyusy/small-project-study 搭建过程疯狂踩坑,记录一下希望各位少走弯路 目录主从搭建配置文件redis.conf运行容器测试优化哨兵集群配置文件运行容器测试代码读写分离分片集群mkdir -p /opt/docker/redis_study/redis_0/conf mkdir -p /opt/…

藏经阁(五)温湿度传感器 SHT3x-DIS 手册 解析

文章目录芯片特性芯片内部框图芯片引脚定义芯片温湿度范围芯片寄存器以及时序讲解信号转换公式芯片特性 湿度和温度传感器完全校准&#xff0c;线性化温度补偿数字输出供电电压范围宽&#xff0c;从2.4 V到5.5 VI2C接口通讯速度可达1MHz和两个用户可选地址典型精度 2% RH和 0.…

Python 二分查找:bisect库的使用

✅作者简介&#xff1a;人工智能专业本科在读&#xff0c;喜欢计算机与编程&#xff0c;写博客记录自己的学习历程。 &#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&…

优先级队列详解

目录优先级队列简介关于堆为什么得用完全二叉树用堆来实现优先级队列插入/删除/获取优先级最高的元素模拟实现使用PriorityQueue的注意事项PriorityQueue常用接口优先级队列的构造方法优先级队列简介 PriorityQueue&#xff0c;即优先级队列。它可以保证每次出出来的数据是队列…

探究:kafka生产者/消费者与多线程安全

目录 1. 多线程安全 1.1. 生产者是多线程安全的么&#xff1f; 1.1. 消费者是多线程安全的么&#xff1f; 2. 消费者规避多线程安全方案 2.1. 每个线程维护一个kafkaConsumer 2.2. [单/多]kafkaConsumer实例 多worker线程 2.3.方案优缺点对比 1. 多线程安全 1.1. 生产…

我的Git stash不小心清空了怎么办,提了代码能反悔吗

文章目录1. 前言2. git stash清空场景2. git stash clear后如何还原3.Git撤销已经推送(push)至远端仓库的信息1. 前言 本文总结的知识很实用哈&#xff0c;虽然是git工具的不常用操作&#xff0c;但是绝对不是冷知识&#xff0c;学会可以从会用git升级到git高手。 主要是两种场…

Centos7 安装Mysql8.0

1、到指定目录下下载安装包[rootVM-0-14-centos ~]# cd /usr/local/src2、下载mysql8[rootVM-0-14-centos src]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz3、解压mysql8, 通过xz命令解压出tar包&#xff0c; 然后通过t…

KDZD耐电压高压击穿强度测试仪

一、技术参数 01、输入电压&#xff1a; 交流 220 V。 02、输出电压&#xff1a; 交流 0--50KV ; 直流 0—50kv 。 03、电器容量&#xff1a;3KVA。 04、高压分级&#xff1a;0—50KV&#xff0c;&#xff08;全程可调&#xff09;。 05、升压速率&#xff1a;0.1KV/s-…