【编程题-错题集】非对称之美(找规律 / 贪心)

牛客对应题目链接:非对称之美 (nowcoder.com)


一、分析题目

找规律

  1. 判断是否全都是相同字符
  2. 判断本身是否是回文
  • 如果这个字符串每个字符相同,不存在非回文子串,直接返回 0。
  • 如果这个字符串不是回文,输出字符串长度。
  • 贪心:如果这个字符串是回文,输出这个字符串长度 -1。(重点:最后返回 n-1 的含义)

二、代码

//值得学习的代码
#include <iostream>
#include <string>using namespace std;int n;
string s;int fun()
{// 1. 判断是否全都是相同字符bool flag = false;for(int i = 1; i < n; i++){if(s[i] != s[0]){flag = true;break;}}if(flag == false) return 0;// 2. 判断本⾝是否是回⽂flag = true;int left = 0, right = n - 1;while(left < right){if(s[left] == s[right]){left++;right--;}else{flag = false;break;}}if(flag) return n - 1;else return n;
}int main()
{cin >> s;n = s.size();cout << fun() << endl;return 0;
}

三、反思与改进

拿到这道题时,我想起了之前写过的5. 最长回文子串 - 力扣(LeetCode),不过它是回文(对称)的,这里要求找的是最长非回文字串的长度,所以我就按着之前的思路去思考,也是将其分为奇数长度和偶数长度的扩展来想。不过,我发现这种思路会导致一些重复字符组成的子串没法得出正确结果,但又不知道该从哪里改起,所以需要转换一下思路。

这道题目没有太多其它的技巧,就是直接找规律,也可以说是贪心,是从非回文的特性来找出非回文的最长字串长度。

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

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

相关文章

一、RocketMQ基本概述与部署

RocketMQ基本概述与安装 一、概述1.MQ概述1.1 用途1.2 常见MQ产品1.3 MQ常用的协议 2.RocketMQ概述2.1 发展历程 二、相关概念1.基本概念1.1 消息&#xff08;Message&#xff09;1.2 主题&#xff08;Topic&#xff09;1.3 标签&#xff08;Tag&#xff09;1.4 队列&#xff0…

STC15W1K16S和VC6.0串口通讯收发测试实例

/********************************************* STC USB 串口板 2014 4 7 20:12 发送接收数据 使用STC串口调试助手通讯正常&#xff0c;L161 **********************************************/ #include "reg51.h" #include "intrins.h" #define…

sourceTree push失败

新电脑选择commit and push&#xff0c;报错了&#xff0c;不过commit成功&#xff0c;只不过push失败了。 原因是这个&#xff0c;PuTTYs cache and carry on connecting. 这里的ssh选择的是 PuTTY/Plink&#xff0c;本地没有这个ssh密钥&#xff0c;改换成openSSH&#xff…

[oeasy]python0015_键盘改造_将esc和capslock对调_hjkl_移动_双手正位

键盘改造 &#x1f94b; 回忆上次内容 上次练习了复制粘贴 按键 作用 <kbd>y</kbd><kbd>y</kbd> 复制光标行代码 到剪贴板 <kbd>p</kbd> 粘贴剪贴板中的内容 <kbd>i</kbd> 切换到 插入模式 <kbd>h</kbd>…

如何理解GTX接收通道相关模块?(高速收发器三)

前文讲解了GTX的时钟及发送通道相关内容&#xff0c;本文讲解GTX接收通道的一些功能及其IP配置&#xff0c;接收往往比发送设计更难&#xff0c;与调制解调&#xff0c;加密解密其实相差不大&#xff0c;后者难度都比前者高出很多。GTX的接收通道的功能相比发送通道更加重要&am…

【Linux】进程的隔离和控制:namespace 隔离、cgroup 控制

文章目录 五、namespace 隔离dd -- 读取、转换并输出数据mkfs -- 格式化文件系统df -- 显示文件系统磁盘使用情况mount -- 加载文件系统到指定的加载点unshare -- 创建子进程&#xff0c;同时与父程序不共享namespace一个 demo 六、cgroup(Control Group) 相关命令pidstat -- 监…

Redis 源码安装(CentOS 单机)

序言 本文给大家介绍如何在 CentOS 上&#xff0c;通过 Redis 源码单机部署 Redis 服务。 一、部署流程 通过官网下载源码 # 下载源码 wget https://download.redis.io/redis-stable.tar.gz# 解压源码包 tar -xzvf redis-stable.tar.gz在 linux 中执行以下命令&#xff0c;安…

百度云内容审核快速配置 (java)

为什么要选择百度云 &#xff1f; 因为他免费用一年 首先要先开通百度云内容安全服务 按照操作指引走完整套 ContentCensor Java SDK目录结构** com.baidu.aip├── auth //签名相关类├── http //Http通…

深度解析DPO及其变体在多种任务上的表现如何,该如何选择

深度学习自然语言处理 原创作者&#xff1a;wkk 单位&#xff1a;亚利桑那州立大学paper&#xff1a;Insights into Alignment:Evaluating DPO and its Variants Across Multiple TasksLink&#xff1a;https://arxiv.org/pdf/2404.14723 今天&#xff0c;我要带大家深入了解一…

Qt在任务栏图标和系统托盘图标上显示红点

在任务栏图标上显示红点 关键类&#xff1a;QWinTaskbarButton #include <QWinTaskbarButton>QPointer<QWinTaskbarButton> taskbarBtn nullptr; if (!taskbarBtn) {taskbarBtn new QWinTaskbarButton(window);taskbarBtn->setWindow(window->windowHand…

git bash退出vim编译模式

解决方法&#xff1a; 1.按esc键&#xff08;回到命令模式&#xff09; 此时是没有分号让我们在后面输入命令的 2.按shift键: 3.再输入&#xff1a;wq&#xff0c;并按enter键 此时我们发现又回到git bash窗口 希望对大家有所帮助&#xff01;

厚德提问大佬答3:让AI绘画更有效率

遇到难题不要怕&#xff01;厚德提问大佬答&#xff01; 厚德提问大佬答 你是否对AI绘画感兴趣却无从下手&#xff1f;是否有很多疑问却苦于没有大佬解答带你飞&#xff1f;从此刻开始这些问题都将迎刃而解&#xff01;你感兴趣的话题&#xff0c;厚德云替你问&#xff0c;你解…

SSM+Vue在线OA办公系统

在线办公分三个用户登录&#xff0c;管理员&#xff0c;经理&#xff0c;员工。 SSM架构&#xff0c;maven管理工具&#xff0c;数据库Mysql&#xff0c;系统有文档&#xff0c;可有偿安装调试及讲解&#xff0c;项目保证质量。需要划到 最底 下可以联系到我。 功能如下&am…

Redis之Linux下的安装配置

Redis之Linux下的安装配置 Redis下载 Linux下下载源码安装配置 方式一 官网下载&#xff1a;https://redis.io/download ​ 其他版本下载&#xff1a;https://download.redis.io/releases/ 方式二&#xff08;推荐&#xff09; GitHub下载&#xff1a;https://github.com/r…

游戏全自动打金搬砖,单号收益300+ 轻松日入1000+

详情介绍 游戏全自动打金搬砖&#xff0c;单号收益300左右&#xff0c;多开收益更多&#xff0c;轻松日入1000 可矩阵操作。 项目长期稳定&#xff0c;全自动挂机无需人工操作&#xff0c;小白&#xff0c;宝妈&#xff0c;想做副业的都可以。

css浮动(float)

浮动&#xff08;Float&#xff09; 在CSS中是一个重要的布局技术&#xff0c;它允许元素向左或向右移动&#xff0c;其周围的元素会重新排列。当一个元素被设置为浮动时&#xff0c;它会脱离正常的文档流&#xff0c;这意味着它不再占据原本在文档流中的空间&#xff0c;而会尽…

VS编辑器下使用MFC完成数据相册系统

背景&#xff1a; 实验项目8:数字相册系统 (2周) (一)实验目的 通过该实验&#xff0c;使学生掌握windows程序设计的基本方法。了解相册的基本功能&#xff0c;在传统相册的基础上&#xff0c; 通过应用时钟、图形绘制功能、图形文件的读写功能以及数据库技术&#xff0c;实现对…

《Linux运维总结:ARM64架构CPU基于docker-compose一离线部署rabbitmq 3.10.25容器版镜像模式集群工具》

总结&#xff1a;整理不易&#xff0c;如果对你有帮助&#xff0c;可否点赞关注一下&#xff1f; 更多详细内容请参考&#xff1a;《Linux运维篇&#xff1a;Linux系统运维指南》 一、部署背景 由于业务系统的特殊性&#xff0c;我们需要面向不通的客户安装我们的业务系统&…

DC-DC电路中电感的下方该不该挖空

DC-DC电路中的电感下方该不该挖空&#xff1f; 在回答这个问题之前&#xff0c;先来了解一下DC-DC电路中常见的功率电感类型 一&#xff0e;DC-DC电路常用功率电感类型 图1 DC-DC电路常用电感类型 这四种类型电感&#xff0c;按照无屏蔽电感→磁封胶半屏蔽电感→组装式全屏蔽…

01-MySQL 基础篇笔记

一、MySQL 概述 1.1 数据库相关概念 数据库:(DB:DataBase) 存储数据的仓库,数据是有组织的进行存储 数据库管理系统:(DBMS:DataBase Management System) 操作和管理数据库的大型软件 SQL:(SQL:Structured Query Language,结构化查询语言) 操作关系型数据库的编…