每日OJ_牛客_游游的字母串_枚举_C++_Java

news2025/3/5 15:32:51

目录

牛客_游游的字母串_枚举

题目解析

C++代码

Java代码


牛客_游游的字母串_枚举

游游的字母串

描述:

对于一个小写字母而言,游游可以通过一次操作把这个字母变成相邻的字母。'a'和'b'相邻,'b'和'c'相邻,以此类推。特殊的,'a'和'z'也是相邻的。可以认为,小写字母的相邻规则为一个环。

游游拿到了一个仅包含小写字母的字符串,她想知道,使得所有字母都相等至少要多少次操作?

输入描述:

一个仅包含小写字母,长度不超过100000的字符串。

输出描述:

一个整数,代表最小的操作次数。


题目解析

        英文字母一共就26个,因此可以直接暴力枚举以每个字母作为最后的转变字母。最后去最小值即可。

C++代码

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    string str;
    cin >> str;
    int res = 1e9;
    for(char ch = 'a'; ch <= 'z'; ++ch)
    {
        int cnt = 0;
        for(auto e : str)
        {
            cnt += min(abs(e - ch), 26 - abs(e - ch));
        }
        res = min(res, cnt);
    }
    cout << res << endl;
    return 0;
}

Java代码

import java.util.*;
public class Main
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        char[] s = in.next().toCharArray();

        int ret = (int)1e9;
        for(char ch = 'a'; ch <= 'z'; ch++)
        {
            int sum = 0;
            for(int i = 0; i < s.length; i++)
            {
                sum += Math.min(Math.abs(s[i] - ch), 26 - Math.abs(s[i] - ch));
            }
            ret = Math.min(ret, sum);
        }

        System.out.println(ret);
    }
}

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

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

相关文章

示例:在WPF中如何使用Segoe MDL2 Assets图标和使用该图标的好处

一、目的&#xff1a;分享在WPF中如何使用Segoe MDL2 Assets图标和使用该图标的好处 在WPF中使用Segoe MDL2 Assets字体&#xff0c;可以通过设置控件的FontFamily属性来实现。Segoe MDL2 Assets是一个包含许多图标的字体&#xff0c;通常用于Windows应用程序的图标显示。 二、…

h5 IOS端渐变的兼容问题 渐变实现弧形效果

IOS端使用渐变的时候有兼容问题 以下是问题效果&#xff0c;图中黑色部分期望的效果应该是白色的。但是ios端是下面的样子…… 安卓pc 支持&#xff1a; background-image: radial-gradient(circle 40rpx at 100% 0, #f3630c 40rpx, rgb(255, 255, 255) 50%);安卓pc ios支持…

Libgdx游戏开发系列教程(4)——显示中文文字

目录 2种方法优缺点 BitmapFont FreeTypeFont 方法1 使用BitmapFont 1.下载hiero工具 2.生成fnt文件 3.代码使用 测试效果 方法2 使用FreeType 1.依赖引入 2.代码使用 测试效果 使用疑问点 这里主要介绍关于在Libgdx显示文字的2种方法 本文代码示例采用kotl…

自然语言处理:朴素贝叶斯

介绍 大家好&#xff0c;博主又来和大家分享自然语言处理领域的知识了。按照博主的分享规划&#xff0c;本次分享的核心主题本应是自然语言处理中的文本分类。然而&#xff0c;在对分享内容进行细致梳理时&#xff0c;我察觉到其中包含几个至关重要的知识点&#xff0c;即朴素…

UltraScale系列FPGA实现SDI转PCIE3.0采集卡,基于UltraScale GTH+XDMA架构,提供工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目本博已有的 SDI 编解码方案我已有的PCIE方案本博客方案的PCIE2.0版本本博客方案的RIFFA版本 3、详细设计方案设计原理框图SDI 输入设备LMH1219RTWR 均衡器UltraScale …

Linux系列:如何调试 malloc 的底层源码

一&#xff1a;背景 1. 讲故事 上一篇我们聊过 C# 调用 C 的 malloc 代码来演示heap的内存泄露问题&#xff0c;但要想深入研究得必须把 malloc 的实现库 libc.so 给调试起来&#xff0c;大家都知道在Linux 上 libc 和 Windows 的 Win32 API 是一个层级的&#xff0c;由于 Li…

深入 PipeWire

简介 随着它的成熟&#xff0c;PipeWire 项目正在慢慢地变得流行。它的文档依然相对稀少&#xff0c;但正在逐渐增长。然而&#xff0c;让项目外部的人尝试用他们自己的语言来理解和解释它总是一个好主意&#xff0c;重申想法&#xff0c;从他们自己的角度来看待它。 在之前的…

20250304笔记-阅读论文

文章目录 前言一、寻找论文1.1寻找有代码的论文方法一&#xff1a;浏览器扩展1.1.1使用流程 方法二&#xff1a;使用Papers with Code 1.2大量搜索代码 二、阅读论文所用软件 三、引用文献格式总结 前言 一、寻找论文 1.1寻找有代码的论文 方法一&#xff1a;浏览器扩展 浏览…

线程POSIX信号量/基于环形队列的⽣产消费模型

一&#xff0c;POSIX线程信号量 信号量的本质就是一个计数器&#xff0c;也是对资源的预定机制&#xff0c;POSIX信号量和SystemV信号量作⽤相同&#xff0c;都是⽤于同步操作&#xff0c;达到⽆冲突的访问共享资源⽬的。但 POSIX可以⽤于线程间同步。 1&#xff0c;初始化信…

C# 类库打包dll文件

目录 前言操作流程注意事项 前言 在C#中&#xff0c;有多种方式可以对代码进行加密&#xff0c;以保护源代码不被轻易查看或修改&#xff0c;这篇文章主要介绍将C# cs类文件加密为dll文件的方式进行保护。 操作流程 在 Visual Studio 中&#xff0c;选择“创建新项目”。 选…

DELL EMC Unity存储如何让控制器进入service mode和退出service mode

近期遇到好几个关于DELL EMC unity &#xff08;VNXe&#xff09;存储系统挂掉的案例&#xff0c;都是很后期才寻找支持到我们这里&#xff0c;然后再看问题&#xff0c;已经变得很复杂&#xff0c;几乎都是从一个相对简单的问题搞成了一锅粥甚至最后丢数据的情况。 为此&…

【微知】如何通过mlxlink查看Mellanox网卡和光模块相关的信息?( mlxlink -d 01:00.0 -m)

背景 通过mlxlink可以查看Mellanox网卡的一些链路信息和硬件信息&#xff0c;也可以查看所插入的光模块的一些信息。 兄弟篇通过ethtool查看的方法&#xff1a;如何查看Mellanox网卡上的光模块的信息&#xff1f; 命令 mlxlink -d 01:00.0 -mman手册介绍&#xff1a; 如果…

Linux系列:如何用 C#调用 C方法造成内存泄露

一个简单的非托管内存泄露 1. 构建 so 文件 在 Windows 平台上我们会通过 MSVC 编译器将 C代码编译出一个成品 .dll&#xff0c;在 Linux 上通常会借助 gcc 将 c 编译成 .so 文件&#xff0c;这个.so 全称 Shared Object&#xff0c;为了方便讲解&#xff0c;先上一段简单的代码…

C# 数据类型相关

分类 按照数据复杂程度 按照数据存储 类型转换 隐式转换 隐式转换无法完成由精度高的数据类型向精度低的数据类型转换 显式转换 又称为强制类型转换&#xff0c;显示转换不一定总是成功&#xff0c;且转换过程中可能出现数据丢失 int num 666;float result (float)num; …

使用Word时无法粘贴,弹出错误提示:运行时错误‘53‘:文件未找到:MathPage.WLL

报错说明 使用Word时无法粘贴&#xff0c;粘贴时弹出提示如下&#xff1a; 一般出现这种情况时&#xff0c;我想你是刚装完MathType不久&#xff0c;博主装的是MathType7版本&#xff0c;出现了这个问题。 出现这个问题的原因是"mathpage.wll"这个文件在Office的插…

玩转python: 深度解析Python高阶函数及推导式

1 高阶函数&#xff1a;工程化编程的基石 1.1 高阶函数基础概念 高阶函数&#xff08;Higher-Order Function&#xff09;是函数式编程范式的核心要素&#xff0c;指能够接受函数作为参数或返回函数作为结果的函数。在Python中&#xff0c;这类函数构成了数据处理的基础架构&…

Linux第五讲----gcc与g++,makefile/make

1.代码编译 1.1预处理 我们通过vim编辑完文件之后&#xff0c;想看一下运行结果这时我们便可以试用gcc编译C语言&#xff0c;g编译c. 编译代码&#xff1a; 上述两种方法均可&#xff0c;code.c是我的c语言文件&#xff0c;mycode是我给编译后产生的二进制文件起的名&#x…

ubuntu22.04下Meshlab打开obj文件闪退——使用Appimage并放入收藏夹中

文章目录 ubuntu22.04下Meshlab打开obj文件闪退,查了下是meshlab的apt没做好。 官网下载:https://www.meshlab.net/#download 赋予权限 sudo chmod a+x MeshLab2023.12-linux.AppImage 双击运行即可 打开权限——下面操作是放在桌面上的 创建桌面快捷方式 # 在 ~/desktop (…

MAVEN的环境配置

在下载好maven后或解压maven安装包后进行环境配置 1.在用户环境变量中 新建一个MAVEN_HOME 地址为MAVEN目录 注&#xff1a;地址为解压后maven文件的根目录&#xff01;&#xff01;&#xff01; 2.在系统环境变量的path中添加该变量 %MAVEN_HOME%\bin 3. 测试maven安装是否成…

强化学习无痛上手笔记第1课

文章目录 Markov Decision ProcessDefinitionRelated Concepts Policy for MDP AgentDefinitionJudgement for PolicyValue FunctionsTD formula for value functionsRelation of V and QPolicy CriterionPolicy Improvement TheoremOptimal PolicyReinforcement Learning Fund…