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

2024_E_100_连续字母长度

连续字母长度
题目描述
给定一个字符串,只包含大写字母,求在包含同一字母的子串中,长度第 k 长的子串的长度,相同字母只取最长的那个子串。

输入描述
第一行有一个子串(1<长度<=100),只包含大写字母。

第二行为 k的值

输出描述
输出连续出现次数第k多的字母的次数。

用例1
输入
AAAAHHHBBCDHHHH
3
输出
2
说明
同一字母连续出现的最多的是A和H,四次;

第二多的是H,3次,但是H已经存在4个连续的,故不考虑;

下个最长子串是BB,所以最终答案应该输出2。

用例2
输入
AABAAA
2
输出
1
说明
同一字母连续出现的最多的是A,三次;

第二多的还是A,两次,但A已经存在最大连续次数三次,故不考虑;

下个最长子串是B,所以输出1。

用例3
输入
ABC
4
输出
-1

def func():strs = input()k = int(input())cnt = {}#先把第一个加进来cnt[strs[0]] = 1left = 1while left < len(strs):if strs[left] == strs[left-1]:cnt[strs[left]] += + 1else:if strs[left] not in cnt:cnt[strs[left]] = 1else:count = cnt[strs[left]]right = left+1while right < len(strs) and strs[right] == strs[left]:tmp = right - left + 1count = max(count,tmp)right += 1cnt[strs[left]] = countleft = rightcontinueleft += 1#print(cnt)#把cnt按value降序排列newcnt = sorted(cnt.items(), key=lambda x: -x[1])#print(newcnt)maxlength = newcnt[0][1]minlength = newcnt[-1][1]if k < minlength or k > maxlength:return -1for i in range(len(newcnt)):if i != k-1: #k也要从0开始continuereturn(newcnt[i][1])if __name__ == '__main__':print(func())

在这里插入图片描述

用例1
输入
AABBAA
2
输出
2
用例2
输入
BBBAACCCAA
2
输出
3
用例3
输入
BAACCCDDDD
3
输出
2
用例4
输入
BAACCCDDDDBBBAAACDDDDD
2
输出
3
用例5
输入
CCCCCCCCCCCCCCCCCCCC
1
输出
20
用例6
输入
CCCCCCCCCCCCCCCCCCCC
1
输出
20
用例7
输入
FFFFRRRRRO
2
输出
4
用例8
输入
GGGGGZZZZZAZZZZZVAAAADCAAALLL
4
输出
3
用例9
输入
UUUOOOOOMMMUUELLLLLCCCCCCWWWWWOOOOORRRRROODDDDWNNN
20
输出
-1
用例10
输入
UUUOOOOOMMMUUELLLLLCCCCCCWWWWWOOOOORRRRROODDDDWNNN
10
输出
1
用例11
输入
DDDDDNNNNSSSSBOPPPPPXXHHHHHKKRRRRAAAQQQQAUUAAAOOIKKKKKGGGGQQIBYYRRRRRSSSSEEEJJJJYYYYDDBFFDDTTSSSSMNN
2
输出
5
用例12
输入
QQQ
2
输出
-1
用例13
输入
QQQAA
0
输出
-1
用例14
输入
QQQAA
-1
输出
-1
用例15
输入
WWWWHHHHRRRRRWWWWHHHHRRRRRWWWWYYYYBBBBJJJXXFJJSSSSOOOOOAUUUOOEEEEE
2
输出
5
用例16
输入
BCDBSD
2
输出
1
用例17
输入
BBCC
2
输出
2
用例18
输入
BD
4
输出
-1
用例19
输入
BBD
3
输出
-1
用例20
输入
AAAAHHHBBCDHHHH
3
输出
2
用例21
输入
AABAAA
2
输出
1
用例22
输入
ABC
4
输出
-1
用例23
输入
ABC
2
输出
1
用例24
输入
ABC
27
输出
-1
1

相关文章:

2024_E_100_连续字母长度

连续字母长度 题目描述 给定一个字符串&#xff0c;只包含大写字母&#xff0c;求在包含同一字母的子串中&#xff0c;长度第 k 长的子串的长度&#xff0c;相同字母只取最长的那个子串。 输入描述 第一行有一个子串(1<长度<100)&#xff0c;只包含大写字母。 第二行为…...

清空redo导致oracle故障恢复---惜分飞

客户由于空间不足,使用> redo命令清空了oracle的redo文件 数据库挂掉之后,启动报错 Fri Oct 04 10:32:57 2024 alter database open Beginning crash recovery of 1 threads parallel recovery started with 31 processes Started redo scan Errors in file /home/oracle…...

VAE(与GAN)

VAE 1. VAE 模型概述 变分自编码器&#xff08;Variational Autoencoder, VAE&#xff09;是一种生成模型&#xff0c;主要用于学习数据的潜在表示并生成新样本。它由两个主要部分组成&#xff1a;编码器和解码器。 编码器&#xff1a;将输入数据映射到潜在空间&#xff0c;…...

【高等数学】多元微分学(二)

隐函数的偏导数 二元方程的隐函数 F ( x , y ) 0 F(x,y)0 F(x,y)0 推出隐函数形式 y y ( x ) yy(x) yy(x). 欲求 d y d x \frac{d y}{d x} dxdy​ 需要对 F 0 F0 F0 两边同时对 x x x 求全导 0 d d x F ( x , y ( x ) ) ∂ F ∂ x d x d x ∂ F ∂ y d y d x ∂ F…...

.NET 中的 Web服务(Web Services)和WCF(Windows Communication Foundation)

一、引言 在当今数字化时代&#xff0c;不同的软件系统和应用程序之间需要进行高效、可靠的通信与数据交换。.NET 框架中的 Web 服务和 WCF&#xff08;Windows Communication Foundation&#xff09;为此提供了强大的技术支持。它们在构建分布式应用程序、实现跨平台通信以及…...

Linux小知识2 系统的启动

我们在上文中介绍了文件系统&#xff0c;提到了Linux的文件系统存在一个块的概念&#xff0c;其中有一个特殊的块&#xff1a;引导块。这和我们这里要讲的系统启动有关。 BIOS 基本输入输出系统&#xff0c;基本上是一个操作系统最早实现也是最早运行的第一个程序。是一个比较…...

Oracle-19g数据库的安装

简介 Oracle是一家全球领先的数据库和云解决方案提供商。他们提供了一套完整的技术和产品&#xff0c;包括数据库管理系统、企业级应用程序、人工智能和机器学习工具等。Oracle的数据库管理系统是业界最受欢迎和广泛使用的数据库之一&#xff0c;它可以管理和存储大量结构化和…...

Dubbo快速入门(二):第一个Dubbo程序(附源码)

文章目录 一、生产者工程0.目录结构1.依赖2.配置文件3.启动类4.生产者服务 二、消费者工程0.目录结构1.依赖2.配置文件3.启动类4.服务接口5.controller接口 三、测试代码 本博客配套源码&#xff1a;gitlab仓库 首先&#xff0c;在服务器上部署zookeeper并运行&#xff0c;可以…...

不同数据类型转换与转义的对比差异

(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu) 在C和C语言中&#xff0c;类型转换与转义是有点像的&#xff0c;有时可能被误解&#xff0c;这块需要仔细辨别。 类型转换形如&#xff0c;把不同字节数或相同字节数的类型值进行转换&#xff0c;强调的是数值转换过去&…...

Kylin系统安装VMwareTools工具

如下图所示&#xff0c;安装好Kylin系统之后&#xff0c;还未安装VMwareTools工具&#xff0c;导致系统画面无法填充虚拟机 正常安装了VMwareTools工具后的系统画面 所以&#xff0c;接下来我们介绍一下如何在Kylin系统下安装VMwareTools工具 首先&#xff0c;点击VMware工具栏…...

uni-app 拍照图片添加水印

获取图片信息 uni.chooseImage({count: 6, //默认9sizeType: ["original", "compressed"], //可以指定是原图还是压缩图&#xff0c;默认二者都有sourceType: ["camera"], //从相册选择success: async function (result: any) {if (!props.isMar…...

Docker-registry私有镜像仓库的安装

Docker-registry私有镜像仓库的安装 我在这里的镜像仓库搭建在ip为192.168.3.23的虚机中。 安装docker-registry 1.拉取镜像 # docker pull registry 2.查看镜像 # docker images REPOSITORY TAG IMAGE ID CREATE…...

在vue3中实现祖组件给后代组件传参,可以跨域几层。

使用provide和inject就可以 下面是祖组件代码&#xff1a; //这是祖组件// 引入provide import { provide } from "vue";//定义数据 const projectId ref("");// 给后代组件传参 provide("projectId", projectId); 下面是后代组件代码&#…...

【优选算法】——双指针(上篇)!

&#x1f308;个人主页&#xff1a;秋风起&#xff0c;再归来~&#x1f525;系列专栏&#xff1a;C刷题算法总结&#x1f516;克心守己&#xff0c;律己则安 目录 前言&#xff1a;双指针 1. 移动零&#xff08;easy&#xff09; 2. 复写零&#xff08;easy&#xff09; 3…...

【C语言】数据输出格式控制

数据的输出格式修饰 常用两种&#xff1a; 整型中&#xff0c;输出数据左对齐、右对齐、占m位、不足m位前补0。浮点型中&#xff0c;默认通过四舍五入保留小数点后6位&#xff0c;通过参数设置保留小数点后n位。 #include <stdio.h> #define PI 3.14159 /* 功能&#x…...

Qt-界面优化选择器的用法(70)

目录 描述 使用 类型选择器 ID 选择器 并集选择器 子控件选择器 伪控制器 描述 QSS 的选择器⽀持以下⼏种 选择器⽰例说明全局选择器*选择所有的 widget.类型选择器 (type selector)QPushButton选择所有的 QPushButton 和其⼦类的控件.类选择器 (class selector).QPus…...

全国职业技能大赛——信息安全管理与评估第一阶段BC、FW、WAF题目详细解析过程

💗需要职业技能大赛环境+WP,请联系我!🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 一个想当文人的黑客 ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【edusrc漏洞挖掘】 【VulnHub靶场复现】【面试分析】 🎉欢迎关注💗一起学习👍一起讨论⭐️一起…...

基于Vite创建项目

vite 是新一代前端构建工具&#xff0c;官网地址&#xff1a;https://vitejs.cn&#xff0c;vite的优势如下&#xff1a; 轻量快速的热重载&#xff08;HMR&#xff09;&#xff0c;能实现极速的服务启动。对 TypeScript、JSX、CSS 等支持开箱即用。真正的按需编译&#xff0c…...

面试题:在 React 中如何绑定事件

在 React 中绑定事件处理器(event handlers)是一个常见的任务,通常涉及以下几个步骤: 定义一个事件处理器函数:在组件的类或者函数组件内部定义一个处理事件的函数。 在 JSX 中绑定事件处理器:在渲染 JSX 时,使用 on 前缀加上事件名称(如 onClick, onChange, onSubmit …...

前端将JSON或者table直接导出为excel

一、引入Sheetjs或者npm直接下载 <script lang"javascript" src"https://cdn.sheetjs.com/xlsx-0.20.3/package/dist/xlsx.full.min.js"></script> 二、页面中使用 //json导出为excel <button onclick"exportExcel()">导出…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...