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

【美团3.18校招真题2】

大厂笔试真题网址:https://codefun2000.com/

塔子哥刷题网站博客:https://blog.codefun2000.com/

最多修改两个字符,生成字典序最小的回文串

提交网址:https://codefun2000.com/p/P1089

在这里插入图片描述

在这里插入图片描述
由于字符串经过修改一定为回文串,且最多修改两次,所以原字符串位置i与对称位置n-i-1不一样的个数最多为2。所以统计一下需要改的位置个数,记为cnt

  1. cnt=0,即原字符串就是回文串,找到第一个不为a的位置i,将i与对称位置n-i-1都改为a
aca      ---> aaa
acca     ---> aaaa
acbca    ---> aabaa 
  1. cnt=1,只有一个位置需要修改,此时分两种情况
    • 如果 i与对称位置n-i-1都不是a,将这俩位置都改为a即可
    • 如果 i与对称位置n-i-1只有一个为a,将另一个不是a的改为a。此时只改了一个字母,还可以改一个。当字符串长度为奇数时,将中间字符改为a
abcdba  ---> abaaba
abcea   ---> aacaa
cbcac   ---> caaac  
  1. cnt=2,两个对称位置需要修改, i与对称位置n-i-1,谁小就改为谁
abcde  ---> abcba
int main() {string s;cin >> s;int n = s.size();vector<int> idxs;for (int i = 0; i < n / 2; i++) {if (s[i] != s[n - 1 - i]) {idxs.push_back(i);}}int cnt = idxs.size();if (cnt == 0) {// 本身就是回文串,需要找到第一个不是a的地方修改for (int i = 0; i <= n / 2; i++) {if (s[i] != 'a') {s[i] = 'a';s[n - 1 - i] = 'a';break;}}}else if (cnt == 1) {// 只有一个需要修改的地方if (s[idxs[0]] != 'a' && s[n - 1 - idxs[0]] != 'a') {// 如果对称位置都不是a,则两个都改为as[idxs[0]] = 'a';s[n - 1 - idxs[0]] = 'a';}else {// 如果只有一个为a,则修改不是a的那个// 如果当前串为奇数,还要修改中间位置的为as[idxs[0]] = 'a';s[n - 1 - idxs[0]] = 'a';if (n & 1) {s[n / 2] = 'a';}}}else {// 有两个需要修改的地方,当前位置idxs[i]和对称位置n - 1 - idxs[i],谁小就改为谁for (int i = 0; i < cnt; i++) {char c = min(s[idxs[i]], s[n - 1 - idxs[i]]);s[idxs[i]] = c;s[n - 1 - idxs[i]] = c;}}cout << s << endl;return 0;
}

相关文章:

【美团3.18校招真题2】

大厂笔试真题网址&#xff1a;https://codefun2000.com/ 塔子哥刷题网站博客&#xff1a;https://blog.codefun2000.com/ 最多修改两个字符&#xff0c;生成字典序最小的回文串 提交网址&#xff1a;https://codefun2000.com/p/P1089 由于字符串经过修改一定为回文串&#x…...

一文带你快速入门『YOLOv8』

前言 本文是 YOLOv8 入门指南&#xff08;大佬请绕过&#xff09;&#xff0c;将会详细讲解安装&#xff0c;配置&#xff0c;训练&#xff0c;验证&#xff0c;预测等过程 YOLOv8 官网&#xff1a;ultralytics/ultralytics: NEW - YOLOv8 &#x1f680; in PyTorch > ONN…...

# 将PCL点云转换为Eigen向量进行运算

将PCL点云转换为Eigen向量进行运算 在处理点云数据时,我们常需要将PCL中的点云转换为Eigen向量,进行一些矩阵运算。这里介绍PCL点云到Eigen向量的两种转换方法。 点云转换为Eigen数组 对于一个PCL的点云,可以通过getArray4fMap()函数获取Eigen数组表示: // PCL点云 pcl::Po…...

elmentui表单重置及出现的问题

一、表单&#xff1a; 二、代码——拿官方的代码举例(做了一些小改动)&#xff1a; 改动&#xff1a;model绑定的字段&#xff0c;由form改为queryParams ref绑定的字段form改为queryFrom 注&#xff1a;model绑定的这个字段用来做数据双向绑定的 注&#xff1a;ref绑定的这…...

游戏平台加盟该怎么做?需要准备什么?

游戏平台加盟是一种合作模式&#xff0c;允许个人或企业以加盟商的身份参与游戏平台&#xff0c;并从中获得一定的权益和收益。以下是一些步骤和需要准备的事项&#xff0c;来考虑如何进行游戏平台加盟&#xff1a; 步骤&#xff1a; 研究市场和平台&#xff1a;了解游戏市场和…...

selenium中定位shadow-root,以及获取shadow-root内部的数据

通过shadow-root的父级定位到shadow-root,再通过语句进行操作 两种方法&#xff1a; 第一种&#xff0c;Python种JS实现 第二种&#xff0c;selenium实现 1.0 案例网站 参考某橘色网站 2.0 js语句定位 可在控制台进行测试 测试语句 document.querySelector("ali-ba…...

OpenCV(三十二):轮廓检测

1.轮廓概念介绍 在计算机视觉和图像处理领域中&#xff0c;轮廓是指在图像中表示对象边界的连续曲线。它是由一系列相邻的点构成的&#xff0c;这些点在边界上连接起来形成一个封闭的路径。 轮廓层级&#xff1a; 轮廓层级&#xff08;Contour Hierarchy&#xff09;是指在包含…...

接口自动化测试做线上巡检,如何避免数据污染

在接口自动化测试中&#xff0c;避免数据污染是非常重要的&#xff0c;特别是在线上环境中进行巡检。 1. 使用独立的测试环境&#xff1a;建议使用专门的测试环境来进行接口自动化测试&#xff0c;而不是直接在生产环境中进行。测试环境应该是一个独立的、与生产环境隔离的环境…...

C++ 指针

C 指针 学习 C 的指针既简单又有趣。通过指针&#xff0c;可以简化一些 C 编程任务的执行&#xff0c;还有一些任务&#xff0c;如动态内存分配&#xff0c;没有指针是无法执行的。所以&#xff0c;想要成为一名优秀的 C 程序员&#xff0c;学习指针是很有必要的。 正如您所知…...

SpringBoot集成kubernetes-client升级k8s后初始化失败问题

SpringBoot集成kubernetes-client升级k8s后初始化失败问题 1.问题描述 程序以前使用的k8s版本是1.16&#xff0c;fabric8.kubernetes-client的版本是4.10.2&#xff0c;springboot版本是2.3.5。由于环境切换&#xff0c;这次需要升级k8s的版本&#xff0c;现在将k8s版本升级到…...

MySQL 学习笔记

&#x1f600;&#x1f600;&#x1f600;创作不易&#xff0c;各位看官点赞收藏. 文章目录 MySQL 学习笔记1、DQL 查询语句1.1、基本查询1.2、函数查询1.2.1、单行函数1.2.2、聚合函数 1.3、复杂查询1.3.1、连接查询1.3.2、子查询 1.4、SQL 语句 执行顺序 2、DDL 定义语句2.1、…...

Docker 的常用命令

0 基本命令 概述 [root192 home]# docker --helpUsage: docker [OPTIONS] COMMANDA self-sufficient runtime for containersOptions:--config string Location of client configfiles (default "/root/.docker")-c, --context string Name of the context…...

嵌入式-电子电路四个基本定律

目录 1、欧姆定律 2、焦耳定律 3、基尔霍夫电流定律 4、基尔霍夫电压定律 1、欧姆定律 欧姆定律是关于导体两端电压与导体中电流关系的定律。具体表述为&#xff1a;在同一电路中&#xff0c;通过某段导体的电流跟这段导体两端的电压成正比&#xff0c;跟这段导体的电阻成反…...

【linux命令讲解大全】083.Linux 常用命令ispell , spell , atrm, chattr

文章目录 ispell补充说明语法参数 spell补充说明语法参数 atrm补充说明语法选项参数 实例 chattr补充说明语法选项 实例 从零学 python ispell 检查文件中出现的拼写错误。 补充说明 ispell命令用于检查文件中出现的拼写错误。 语法 ispell [参数] 参数 文件&#xff1a…...

JAVA实现SAP接口

JAVA实现SAP接口 环境spring-bootmaven 1.maven依赖 <dependency><groupId>com.github.virtualcry</groupId><artifactId>sapjco-spring-boot-starter</artifactId><version>3.1.4</version></dependency>2.配置文件 applic…...

华南理工大学811信号与系统考研分数线,招生人数,报考统计,考情分析,就业,真题,大纲,参考书,华工811

华南理工大学811信号与系统考研分数线&#xff0c;招生人数&#xff0c;报考统计&#xff0c;考情分析&#xff0c;就业&#xff0c;真题&#xff0c;大纲&#xff0c;参考书&#xff0c;华工811 华南理工大学811信号与系统考研分数线&#xff0c;招生人数&#xff0c;报考统…...

Android 字符串 占位符

在 Android 中&#xff0c;字符串中的 % 后面跟着的字符称为格式化占位符&#xff0c;用于指示在运行时将值插入到字符串中的位置&#xff0c;并指定插入的值的类型。常见的格式化占位符类型如下&#xff1a; %s&#xff1a;字符串占位符。它用于插入字符串值。 String name …...

vue页面添加水印(可用于H5,APP)

vue页面添加水印 背景实现新建vue组件使用效果 尾巴 背景 最近实现了一个小功能&#xff0c;就是给页面添加背景水印。实现思路就是定义一个宽高充满屏幕的组件&#xff0c;然后使用绝对定位并通过层级控制让水印显示在页面的最前端。 实现 代码相对简单&#xff0c;相信有点…...

下载git

1.官网下载可能会有访问失败 2.用其他的镜像源下载 快 准 狠 CNPM Binaries Mirror...

MSYS2 如何切换镜像源(附带脚本自动修改)

这篇文章将总结【如何切换MSYS2镜像】&#xff0c;其实比较简单&#xff0c;但还是记录一下吧。 下面示例中附带一个脚本&#xff0c;这样你就不用一个个手动修改了。 1. 镜像服务配置文件 MSYS2 的所有镜像服务配置&#xff0c;都在其安装路径下的etc/pacman.d目录下 可以看到…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...