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

游游的字母串 (环形数组两点之间的位置)

题目链接:登录—专业IT笔试面试备考平台_牛客网

题目:

样例:

输入
yab
输出
3

思路:

        暴力枚举,全部变成对应的26个字母字符需要的操作步数,取最少的一个操作步数,

这里的操作步数,是 环形 26 字母数组中 两个字符之间最短距离。

环形数组的两个元素之间的最短距离关系是

环形数组两个元素之间的最短距离关系

i  j   分别表示两个不同的元素int dis = min(abs(i - j),环形数组大小 - abs(i - j))

这里环形数组的大小是 26 。

代码详解如下:

#include <iostream>
#include <cstring>
#include <algorithm>
#include <queue>
#include <unordered_map>
#define endl '\n'
#define x first
#define y second
#define mk make_pair
#define int long long
#define NO puts("NO")
#define YES puts("YES")
#define umap unordered_map
#define INF 0x3f3f3f3f3f3f3f3f
#define All(x) (x).begin(),(x).end()
#pragma GCC optimize(3,"Ofast","inline")
#define ___G std::ios::sync_with_stdio(false),cin.tie(0), cout.tie(0)
using namespace std;
const int N = 2e6 + 10;
using PII = pair<int,int>;
inline void solve()
{string s;int ans = INF;	// ans 取正无穷,方便取 mincin >> s;// 遍历 26 个字母for(int i = 0;i < 26;++i){int tem = 0;	// 临时存储总距离// 全部字符变成 对应的字母for(char j : s){int c = j - 'a';    // 对应字母int mid = abs(i - c);	// 中间的距离int out = 26 - abs(i - c);	// 全部距离 - 中间距离 == 外边距离int dis = min(mid,out);tem += dis;}ans = min(ans,tem);	// 取最少总距离,即最少操作数}cout << ans << endl;
}
signed main()
{
//	freopen("a.txt", "r", stdin);___G;int _t = 1;
//	cin >> _t;while (_t--){solve();}return 0;
}

最后提交:

相关文章:

游游的字母串 (环形数组两点之间的位置)

题目链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 题目&#xff1a; 样例&#xff1a; 输入 yab 输出 3 思路&#xff1a; 暴力枚举&#xff0c;全部变成对应的26个字母字符需要的操作步数&#xff0c;取最少的一个操作步数&#xff0c; 这里的操作步数&#xff0…...

Flink的ResourceManager详解(一)

ResourceManager 总结 一、概述 1、ResourceManager 管理 Flink 集群中的计算资源&#xff0c;计算资源主要来自 TaskManager 组件。 2、如果集群采用 Native【本地模式】部署&#xff0c;则 ResourceManager 会动态地向集群资源管理器申请 Container 并启动TaskManager&…...

Tornado 可以使用 nginx 提供负载均衡

Tornado和nginx都是网络服务器的重要组成部分&#xff0c;但它们在职能和使用场景上存在显著的差异。 Tornado可以独立运行&#xff0c;而不需要依赖nginx等其他Web服务器。这是因为Tornado本身就是一个完整的Web服务器&#xff0c;可以独立处理HTTP请求并返回响应数据。 ngi…...

Golang 面向对象编程 多态

基本介绍 变量(实例)具有多种形态。面向对象的第三大特征&#xff0c;在Go语言&#xff0c;多态特征是通过接口实现的&#xff08;接口能够体现多态的特征&#xff09;。可以按照统一的接口来调用不同的实现。这时接口变量就呈现不同的形态。 在前面的Usb接口案例&#xff0c;u…...

WLAN 无线案例(华为AC控制器配置模板)

实验说明&#xff1a; 无线用户VLAN 30 192.168.30.0/24 AP和AC用VLAN 20 192.168.20.0/24 有线网段 VLAN 10 192.168.10.0/24 步骤一&#xff1a;全网互通 sw1&#xff1a; sysname sw1 # vlan batch 10 20 30 # dhcp enable # ip pool 20 gateway-list 192.168.20.1…...

精美的早安问候语,暖心祝福,开心每一天

1、 美好的祝福&#xff0c;成了清晨的主题。相互问候&#xff0c;是一天的开始。让我们伴着不老的岁月&#xff0c;永远开心快乐。早晨好&#xff01; 2、 心宽似海&#xff0c;百福皆来&#xff0c;世事看淡&#xff0c;内心安然。随缘即福&#xff0c;随遇而安&#xff0…...

嵌入式养成计划-41----C++ auto--lambda表达式--C++中的数据类型转换--C++标准模板库(STL)--list--C++文件操作

九十九、auto 99.1 概念 C11引入了自动类型推导&#xff0c;和Python不一样&#xff0c;C中的自动类型推导&#xff0c;需要auto关键字来引导比如 &#xff1a;auto a 1.2; 会被编译器自动识别为 a 为 double 类型 99.2 作用 auto修饰变量&#xff0c;可以自动推导变量的数…...

全局事件总线

全局事件总线 功能&#xff1a;可以解决所有组件之间通信传数据的问题原理&#xff1a;通过一个共享对象&#xff0c;将所有组件全部绑定到对象上&#xff0c;即可通过这个对象实现组件与组件之间的传递数据&#xff0c;而这个共享对象叫做全局事件总线。 如何分清楚谁是发送方…...

通讯网关软件026——利用CommGate X2ORACLE-U实现OPC UA数据转入ORACLE

本文介绍利用CommGate X2ORACLE-U实将OPC UA数据源中的数据转入到ORACLE数据库。CommGate X2ORACLE-U是宁波科安网信开发的网关软件&#xff0c;软件可以登录到网信智汇(http://wangxinzhihui.com)下载。 【案例】如下图所示&#xff0c;将OPC UA数据源的数据写入到ORACLE数据…...

RAII与智能指针

RAII与智能指针 1.RAII1.1RAII理解1.2RAII的原理1.2.1简单的例子说明局部对象的自动销毁的特性 1.2.2 RAII 过程 2.智能指针2.1 auto_ptr2.1.1auto_ptr的使用构造函数与析构函数拷贝构造函数与赋值提领操作auto ptr其它函数 2.1.2autoptr使用的注意事项 2.2 unique_ptr2.2.1uni…...

易云维智慧工业云平台助力广西国企培育数字产业化平台,打造数字化产业生态

2022年6月6日&#xff0c;广西壮族自治区人民政府国有资产监督管理委员会出台了《国有企业数字化转型工作实施意见》&#xff0c;明确了总体要求、主要目标、重点推进国有企业数字化转型的任务和保障措施。 《意见》预计&#xff0c;到2025年底&#xff0c;广西基本实现自治区级…...

【密码学】第三章、分组密码

DES、IDEA、AES、SM4 1、分组密码定义&#xff08;按照五个组成部分答&#xff09; 密钥空间&#xff1a;属于对称加密算法kekd明密文空间&#xff1a;将明文划分为m比特的组&#xff0c;每一块依次进行加密加解密算法&#xff1a;由key决定一个明文到密文的可逆映射 2、发展…...

宁夏企业过等保选哪家测评机构好?选哪家堡垒机好?

最近不少宁夏小伙伴在问&#xff0c;宁夏企业过等保选哪家测评机构好&#xff1f;选哪家堡垒机好&#xff1f;今天我们小编就给大家来简单说说哈&#xff01; 宁夏企业过等保选哪家测评机构好&#xff1f; 目前宁夏正规具有资质的等保测评机构只有3家&#xff0c;分别为中电信…...

Vue绑定style和class 对象写法

适用于&#xff1a;要绑定多个样式&#xff0c;个数确定&#xff0c;名字也确定&#xff0c;但不确定用不用。 绑定 class 样式【对象写法】&#xff1a; .box{width: 100px;height: 100px; } .aqua{background-color: aqua; } .border{border: 20px solid red; } .radius{bor…...

使用vue-sign插件

Vue-sign是一个基于Vue.js和Canvas的签名组件&#xff0c;可以轻松地在Vue应用程序中实现签名板或手写签名功能。使用它可以使用户在前端网页上直接进行手写签名&#xff0c;实现更好的用户交互和业务需求。 使用Vue-sign可以提供以下好处&#xff1a; 通过Vue.js框架进行开发…...

python究竟可以用来做些什么

这里就不撰述python的一些像什么“高级语言”之类的比较常规的介绍了&#xff0c;还是老样子&#xff0c;说说一些比较常用的东西吧。 python是什么 python&#xff0c;一款可编程的开源软件&#xff0c;很多第三方库、框架也是开源的&#xff0c;比如强大的anaconda、sklear…...

Segment Anything(论文解析)

Segment Anything 摘要1.介绍2 SAM任务SAM模型 摘要 我们介绍了“Segment Anything” (SA) 项目&#xff1a;这是一个新的任务、模型和数据集对于图像分割。使用我们高效的模型进行数据收集&#xff0c;我们构建了迄今为止最大的分割数据集&#xff08;远远超过其他数据集&…...

@ConditionalOnProperty 用法

文章目录 前言一、使用场景二、使用步骤1.错误示例2.ConditionalOnProperty的解决方案 总结 前言 ConditionalOnProperty 是Spring Boot中的条件注解&#xff0c;它的核心功能是通过属性名以及属性值来实现的&#xff0c;常被用于判断某个属性是否存在&#xff0c;然后决定某个…...

如何选择超声波清洗机、超声波清洗机排行榜

眼镜的日常清洗生活中很多人都会把它给忘记&#xff01;长时间下来眼镜支架就会变成黄色的&#xff0c;非常的难洗掉&#xff0c;从而又浪费了一个眼镜。一副好的眼镜也不便宜的&#xff0c;把换眼镜的钱省下来入一款超声波清洗机&#xff0c;可以大大的减少金钱的支持&#xf…...

大家这么喜欢这件羽绒服的吗?眼光太好啦

简单干净散发着朝气&#xff0c;温暖的气息由内而外 90白鸭绒&#xff0c;高密度充绒量和蓬松度 三防工艺&#xff0c;立领连帽设计 下摆抽绳&#xff0c;帽子上的魔术贴设计 无一不将保暖落实在实处...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

go 里面的指针

指针 在 Go 中&#xff0c;指针&#xff08;pointer&#xff09;是一个变量的内存地址&#xff0c;就像 C 语言那样&#xff1a; a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10&#xff0c;通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...

相关类相关的可视化图像总结

目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系&#xff0c;可直观判断线性相关、非线性相关或无相关关系&#xff0c;点的分布密…...