当前位置: 首页 > news >正文

题解:蓝桥云课 198 人物相关性分析

【题目来源】

蓝桥云课:1.人物相关性分析 - 蓝桥云课 (lanqiao.cn)

【题目描述】

小明正在分析一本小说中的人物相关性。他想知道在小说中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(1<K<10^6)\).

第二行包含一行字符串,只包含大小写字母、标点符号和空格。长度不超过 \(10^6\)

【输出】

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

【输入样例】

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

【输出样例】

2

【算法标签】

《蓝桥 198 任务相关分析》 #2019# #字符串# #模拟# #省赛#

【解题思路】

image

【代码详解】

import bisect  
k = int(input())  # 输入k
s = input()  # 输入字符串
ls = list(s)  # 转换成列表,用于排除包含字符内容
ali = []  # 定义Alice和Bob列表,存放下标值
bob = []
ans = 0
st = 0
while True:idx = s.find('Alice', st)  # 获得下标if idx!=-1 and not ls[idx+5].isalpha():  # 如果找的到,且后面不是字符ali.append(idx)  # 添加到ali列表中st = idx+1  # 继续查找else:  # 否则退出循环break
st = 0
while True:idx = s.find('Bob', st)  # 同上,添加到bob列表中if idx!=-1 and not ls[idx+3].isalpha():bob.append(idx)st = idx+1else:break
for x in ali:  # 使用系统库函数bisect,在bob列表中查找Alice的下标l = bisect.bisect_right(bob, x-k-3)  # 返回第一个大于x-k-3的数的下标(bisect_right同C++ upper_bound)r = bisect.bisect_right(bob, x+k+5)  # 返回第一个大于x+k+5的数的下标ans += r - l  # 相减得到中间的个数
print(ans)

【运行结果】

2
http://www.jsqmd.com/news/434738/

相关文章:

  • Ubuntu24.04更改SSH端口
  • C# 基于OpenCv的视觉工作流-章30-图像摆正
  • 2026年,陕西买电动伸缩门厂家推荐,实用选购技巧,避坑又省心 - 宁夏壹山网络
  • 想选消防桥架不知哪家靠谱?2026十家高口碑品牌费用与服务保障实测 - 速递信息
  • 2026年知名的240升垃圾桶 推荐:大号垃圾桶/户外垃圾桶/户外环卫垃圾桶制造厂家推荐 - 品牌宣传支持者
  • 2026年3月拧紧机厂家推荐,精准检测与稳定性能深度解析 - 品牌鉴赏师
  • 全国设备回收厂家怎么选?空调板房变压器电线电缆回收2026最新核心测评 - 深度智识库
  • 2026中国半导体展会推荐 半导体人必看——覆盖全产业链的专业展会 - 品牌2026
  • 2026年嘉定区机房专用UPS电池,,索克曼电池公司采购参考名录 - 品牌鉴赏师
  • 适合长辈用的染发膏怎么选?这份避坑指南+推荐清单请收好 - 品牌排行榜
  • 题解:蓝桥云课 149 长草
  • 西安柴油发电机优选|龙鸿机电:上柴发电机现货供应,本土靠谱服务商 - 朴素的承诺
  • 使用thrift的php版本操作hbase数据库
  • 题解:蓝桥云课 2489 进制
  • 预算有限怎么选热浸锌桥架?2026年六款高性价比产品口碑排名评测 - 速递信息
  • 题解:蓝桥云课 760 数的计算
  • 2026年3月SQL网站安全机构推荐,精准检测与稳定性能深度解析 - 品牌鉴赏师
  • 告别繁琐操作!西恩士智能触控系统让零部件清洁度测试仪更好用 - 技术权威说
  • hadoop+Spark+django基于大数据技术的书籍评论情感分析系统(源码+文档+调试+可视化大屏)
  • 2026 年度半导体展览会排行榜 国内知名芯片展会排名推荐 - 品牌2026
  • 探讨全国高性价比优质的专利申请代办机构怎么选 - 工业推荐榜
  • 2026年,甘肃电动伸缩门厂家推荐 万成门业,源头工厂 附选购技巧 - 宁夏壹山网络
  • 三亚海鲜餐厅推荐榜单2026年必吃海鲜大咖大奖
  • 南通诺丁山花园婚礼宴会厅怎么选择,有什么技巧? - myqiye
  • 题解:蓝桥云课 155 最大距离
  • 颗粒物清洁度检测系统厂家怎么选?西恩士用数据说话,筑牢质量防线 - 技术权威说
  • 题解:蓝桥云课 143 饮料换购
  • 修改注册表修改环境变量PATH
  • macOS 上 Chrome CDP 远程调试端口无法监听的排查与解决
  • 零部件清洁度测试装置哪家好?西恩士凭何在品牌排行中脱颖而出? - 技术权威说