灵茶 2023 - 12 - 11

链接 : 

Problem - C - Codeforces

题意 : 

输入一个长度 ≤1e5 的字符串 s,只包含小写字母。
找到一个最小的 k,使得所有长度 >= k 的连续子串,有公共字母(这些子串的交集不为空)。
 

思路 : 

就是求每个字母的相邻距离的最大值,然后求这些最大值的最小值;

代码 : 

#include<bits/stdc++.h>
using namespace std; 
int main(){string s ; cin >> s;// 每个字母的最大间隔int ans = INT_MAX , n = s.size();map<int,vector<int>> a;for(int i=0;i<n;i++)a[(int)(s[i]-'a')].push_back(i);for(int i=0;i<26;i++){int len = a[i].size() , ma = 0 ;a[i].push_back(n);if(len) ma = a[i][0]+1;else continue;for(int j=1;j<=len;j++) ma = max(ma,a[i][j]-a[i][j-1]);ans = min(ma,ans);// 求最小值 }cout << ans << endl;
}

代码(优化)

用a来记录每个字母之前出现的位置,b记录每个字母的距离的最大值;

#include<bits/stdc++.h>
using namespace std;
int a[26],b[26];
int main(){string s ; cin >> s;for(int i=0;i<26;i++) a[i] = -1;int ans = INT_MAX , n = s.size();for(int i=0;i<n;i++){int t = s[i]-'a';b[t] = max(i-a[t],b[t]);a[t] = i;} for(int i=0;i<26;i++)if(a[i]!=-1)ans = min(ans , max(b[i],n-a[i]));cout << ans << endl;
}

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

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

相关文章

智能优化算法之粒子群模型(含python案例代码)

粒子群优化模型概述 粒子群优化&#xff08;Particle Swarm Optimization&#xff0c;简称PSO&#xff09;是一种基于群体智能的优化算法&#xff0c;最早由美国社会心理学家James Kennedy和Russell Eberhart于1995年提出。PSO的灵感来自鸟群和鱼群等自然界群体行为的观察。 PS…

Linux驱动入门——编写第一个驱动

目录 前言 驱动入门知识 1.APP 打开的文件在内核中如何表示 2.打开字符设备节点时&#xff0c;内核中也有对应的 struct file 编写 Hello 驱动程序步骤 1.流程介绍 2.驱动代码&#xff1a; 3.应用层代码&#xff1a; 4.本驱动程序的 Makefile 内容&#xff1a; 5.上机…

4fiddler抓包工具的使用

一、定义 1.1 抓包的定义 说明&#xff1a;客户端向服务器发送请求以及服务器响应客户端的请求&#xff0c;都是以数据包来传递的。 抓包(packet capture)&#xff1a;通过工具拦截客户端与服务器交互的数据包 1.2 fiddler的介绍 Fiddler是一个http协议调试代理工具&#…

Java程序设计基础 - 课程概述

文章目录 一、程序员最具共性的心理特征二、Java开发工程师的岗位要求(一)素质和职业道德需求(二)岗位能力需求统计三、针对Java工程师岗位需求的课程目标(一)熟练掌握Java编程语言,掌握编程技能(二)精通使用集成开发工具Eclipse或IntelliJ IDEA(三)需要将“用户体验…

市场全局复盘 20231208

一、板块成交额排名&#xff1a; 资金流入前三个板块K 线&#xff1a; 行业成交额排名&#xff1a; 个股资金流入排名&#xff1a; select 成交额排名 ,近日指标提示 ,短线主题 ,涨停分析,CODE,名称,DDE大单净量,现价,量比,连板天,周涨停,月涨停,年涨停天,连涨天,…

【每日一题】—— B. StORage room(Codeforces Round 912 (Div. 2))(位操作符)

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;每日一题 &#x1f48c;其他专栏&#xff1a; &#x1f534; 每日反刍 &#x1f7e1; C跬步积累 &#x1f7e2; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0c;缓称…

工业传感器

工业传感器 电子元器件百科 文章目录 工业传感器前言一、工业传感器是什么二、工业传感器的类别三、工业传感器的应用实例四、工业传感器的作用原理总结前言 工业传感器的应用可以帮助提高工业过程的效率、安全性和可靠性,实现工业自动化和智能化。 一、工业传感器是什么 工…

使用阿里云国际CDN加速后网站无法访问的排查步骤

使用阿里云国际CDN加速后网站无法访问的排查步骤&#xff0c;下面是一些常见的问题&#xff0c;以&#xff1a;www.c.9he.com为例&#xff0c;如果解决不了来信服务器厂商解决。 检查CDN访问异常是CDN节点的问题还是源站问题 如果是源站访问异常&#xff0c;请直接排查源站服务…

Faster R-CNN

Faster R-CNN是作者Ross Girshick继Fast R-CNN后的又一力作。同样使用VGG16作推理速度在GPU上达到5fps(包括候选区域的生成)&#xff0c;准确率为网络的backbone&#xff0c;也有进一步的提升。在2015年的ILSVRC以及COCO竞赛中获得多个项目的第一名。 算法流程 右边这部分和Fa…

算法Day27 身材管理(三维背包)

身材管理&#xff08;三维背包&#xff09; Description Input Output Sample 代码 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt(); // 输入n的值int money sca…

KaiOS 运营商相关文件operator_variant_manager.js代码功能和调试

gaia/apps/system/js/operator_variant_manager.js at master mozilla-b2g/gaia GitHub js文件接口功能 No 接口/常量 功能 1 OperatorVariantManager var OperatorVariantManager function(core) 2 OperatorVariantManager.IMPORTS OperatorVariantManager.I…

搜集怎么绘制三维曲线和曲面?

1、针对函数对象是单一变量、两个函数的情况。用plot3函数&#xff1b;&#xff08;三维曲线&#xff09; 看一下matlab官方的例子&#xff1a; t 0:pi/50:10*pi; st sin(t); ct cos(t); plot3(st,ct,t) 绘制出来的曲线&#xff1a; 几个比较关键的点&#xff1a; &…

【Marp】基于Markdown-Marp快速制作PPT

【Marp】基于Markdown-Marp快速制作PPT 文章目录 【Marp】基于Markdown-Marp快速制作PPT零、参考资料一、Marp基本语法&#xff08;创建分页&#xff0c;排版图片&#xff0c;更换主题&#xff0c;Marp扩展指令修改样式&#xff09;1、创建新的PPT页面2、插入图片 & 排版图…

小功能实现(二十)分类统计,Map取值自增

前言 从Map取值&#xff0c;根据获取的类型进行统计&#xff0c;若有则1&#xff0c;若无则新增新的分类纯属灵机一动 步骤 for (String str : stringList) {int counttypeMap.getOrDefault(str,0);typeMap.put(resultList[2],count); }

解决删除文件后 WSL2 磁盘空间不释放的问题

查看 Linux distributions 打开 PowerShell 并执行如下命令&#xff1a; wsl -l -v 搜索并找到 ext4.vhdx 文件 我的 ext4.vhdx 文件如下&#xff1a; C:\Users\xxx\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx 由于…

vue中yarn install超时问题

囚笼中的网络固然可以稳定局势&#xff0c;不让猴子们得以随时醒悟&#xff01;给你吃的你就好好吃&#xff0c;不要有其他的翻然醒悟的时刻。无论如何&#xff0c;愚蠢的活着也是一种幸福&#xff0c;听着那些耐心寻味的统计幸福指数&#xff0c;我们不由的幸福的一批。。 最…

软件开发流程分析

软件开发流程分析 相关概念1 原型设计2 产品设计3 交互设计4 代码实现详细步骤 相关概念 前端&#xff1a;自研API&#xff0c;调用第三放API 后端&#xff1a;自研API&#xff0c;第三方API 数据库&#xff1a;Mysql&#xff0c;数据采集&#xff0c;数据迁移 服务器&#xf…

算法与数据结构--最短路径Dijkstra算法

题目&#xff1a; 算法与数据结构实验题 10.20 迷路 ★实验任务 学长经常迷路&#xff0c;现在他又遇到问题了&#xff0c;需要求救。 假设他有一张地图&#xff0c;上面有N个点&#xff0c;M条路&#xff0c;他现在在编号为S的地方&#xff0c;想要去编号为E的地方&#x…

Linux中的几个重要指令

关於 Process 处理的指令 1. ps ps 是用来显示目前你的 process 或系统 processes 的状况。 以下列出比较常用的参数: 其选项说明如下: -a 列出包括其他 users 的 process 状况。 -u 显示 user - oriented 的 process 状况 。 -x 显示包括没有 terminal 控制的 process 状…

程序员养生指南。。。

【关注微信公众号&#xff1a;跟强哥学SQL&#xff0c;回复“笔试”免费领取大厂SQL笔试题。】 作为一个程序员&#xff0c;确实需要特别关注健康问题。长时间的熬夜加班、久坐不动等工作习惯可能会导致身体亚健康状态。以下是一些养生延寿的建议&#xff1a; 1. 定期运动&…