华为OD机试真题 Java 实现【最长回文子串】【牛客练习题】

news2024/10/6 20:25:10

在这里插入图片描述

一、题目描述

给定一个仅包含小写字母的字符串,求它的最长回文子串的长度。
所谓回文串,指左右对称的字符串。
所谓子串,指一个字符串删掉其部分前缀和后缀(也可以不删)的字符串

数据范围:字符串长度1≤s≤350

进阶:时间复杂度:O(n)\O(n) ,空间复杂度:O(n)\O(n)

二、输入描述

输入一个仅包含小写字母的字符串。

三、输出描述

返回最长回文子串的长度。

四、解题思路

  1. 输入一个仅包含小写字母的字符串;
  2. 定义一个max,用于记录最长回文子串的长度;
  3. 使用双重for循环遍历字符串的所有可能子串,从左到右取子串;
  4. 对于每个子串,判断其是否是回文串;
  5. 如果是回文串,则更新max的值为当前子串长度和max中的较大值;
  6. 结束循环,max的值即为最长回文子串的长度;

五、Java算法源码

public static void main(String args[]) {
    Scanner sc = new Scanner(System.in);
    // 输入一个仅包含小写字母的字符串
    String str = sc.nextLine();
    // 最长回文子串的长度
    int max = 0;

	// 使用双重for循环遍历字符串的所有可能子串,从左到右取子串
    for (int i = 0; i < str.length(); i++) {
        for (int j = str.length(); j > i; j--) {
        	// 对于每个子串,判断其是否是回文串
            if (isPalindrome(str.substring(i, j))) {
            	// 如果是回文串,则更新max的值为当前子串长度和max中的较大值
                max = Math.max(max, j - i);
            }
        }
    }
    System.out.print(max);
}

// 判断是否是回文串
private static boolean isPalindrome(String s) {
    return s.equals(new StringBuilder(s).reverse().toString());
}

六、效果展示

在这里插入图片描述


🏆下一篇:华为OD机试真题 Java 实现【基站维修工程师】【2023Q1 200分】,附详细解题思路

🏆本文收录于,华为OD机试(JAVA)(2022&2023)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。

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

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

相关文章

华为OD机试真题 JavaScript 实现【最长回文子串】【牛客练习题】

一、题目描述 给定一个仅包含小写字母的字符串&#xff0c;求它的最长回文子串的长度。 所谓回文串&#xff0c;指左右对称的字符串。 所谓子串&#xff0c;指一个字符串删掉其部分前缀和后缀&#xff08;也可以不删&#xff09;的字符串 数据范围&#xff1a;字符串长度1≤s…

锤子眼里全是钉?谈如何对现有系统进行微服务改造

1 什么是微服务架构&#xff1f; 微服务架构&#xff0c;主要是一种思想&#xff0c;并非具体的技术、框架、语言等。核心在于将现有系统拆分为功能明确&#xff0c;内聚性强&#xff0c;职责单一的微小部分&#xff0c;以服务形式对外提供&#xff0c;从而将原来的复杂大系统…

SpringBoot 通过@Profile注解配置多环境

参考资料 Springboot中的Profile注解 目录 一. 使用场景二. 前期准备三. Profile注解作用于类上3.1 配置类3.2 效果 四. Profile注解作用于方法上4.1 定义一个生产环境的注解4.2 配置类4.3 效果 一. 使用场景 在Spring中&#xff0c;可以使用配置文件的方式来指定不同环境下所…

让AI写今年高考作文,满分60你给AI打多少分呢?

随着高考的落幕&#xff0c;各地高考作文已成为我们讨论的话题。 下面是2023年全国甲卷作文题目 我们就让AI根据要求&#xff0c;写上两篇作文。作文标题也是AI起的 一 、① 标题&#xff1a;与时间赛跑&#xff0c;不为时间所困 ​ 时间&#xff0c;这位无情的审判长&#…

知识点滴 - Tumble test和Drop test

翻滚测试(Tumble test)和跌落测试(Drop test)是十分重要的方法&#xff0c;用于评估产品的维持功能的能力&#xff0c;针对的是当产品在终端用户手中的整个生命周期中经历许多碰撞和刮擦的情况。 跌落测试的随机性较强&#xff0c;而跌落测试可以控制跌落方向、撞击点等。 翻滚…

将一个正整数分解质因数(Java)

题目&#xff1a;将一个正整数分解质因数。例如&#xff1a;输入1023,打印出10233*11*31。 目录 1、解题思路 2、程序代码 3、程序输出 1、解题思路 从最小的质数开始&#xff0c;不断地将输入的正整数进行分解&#xff0c;直到无法再分解为止。具体实现方法为&#xff1a;从…

Flutter调用Rust代码操作指南

在之前的利用Rust与Flutter开发一款小工具文章中&#xff0c;我们使用Rust代码实现了一个简单的WebSocket发送功能。也在Rust库交叉编译以及在Android与iOS使用这篇中介绍了Rust库的打包以及双端的使用。 今天我们继续用之前WebSocket的代码举例&#xff0c;来介绍如何在Flutt…

chatgpt赋能python:Python怎么取出换行的数据?

Python怎么取出换行的数据&#xff1f; 在数据分析和处理中&#xff0c;我们常常需要从文件中读取数据&#xff0c;特别是当数据量很大时更是如此。在Python中&#xff0c;读取文本文件中的数据很简单&#xff0c;但是有时候读取的文本文件中可能含有换行符&#xff0c;这可能…

5.DIY可视化-拖拽设计1天搞定主流小程序-公告管理

1.DIY可视化-拖拽设计1天搞定主流小程序-公告管理 公告管理-本教程均在第一节中项目启动下操作 1.DIY可视化-拖拽设计1天搞定主流小程序-公告管理2.创建数据表执行: php think diygw:tableandapi oneHdp 3. 复制幻灯片界面进行编辑4.修改后台API5.富文本添加6.验证 :访问url : …

linux下动态链接过程

序 总是在工作中会遇到符号表&#xff0c;链接等字眼&#xff0c;之前看过《程序员自我修养》这本书&#xff0c;但是基本上都忘记了&#xff0c;这几天再刷一遍&#xff0c;顺便记录一下&#xff0c;加深记忆。 本文会完整的描述程序运行的动态加载及运行的整个流程&#xff…

大学生心理健康APP的设计与实现

摘 要&#xff1a;大学生群体本该是象牙塔中的学习者&#xff0c;是祖国未来的支柱&#xff0c;是民族复兴的期望所在&#xff0c;但是近几年大学生心理健康问题日益严峻&#xff0c;例如情感问题&#xff0c;原生家庭的问题&#xff0c;学业问题&#xff0c;与同学相处所带来…

【ps】photoshop 入门

文章目录 Adobe Photoshop 安装快捷键照片裁剪保存/导出图片复制图层新建图层及颜色填充人物轮廓调整、增高颅顶人物瘦脸、缩小鼻翼、丰唇、放大眼睛人物祛痘/祛斑背景杂质去除图像提亮调色工具 Adobe Photoshop 安装 参照 【Adobe Photoshop 2023 v24.3.0【附安装破解教程】中…

串口通讯,三种数据传输方式介绍

前言 &#xff08;1&#xff09;备考微机原理&#xff0c;这里就把这个知识点分享给和我一样不认真上课的同学们。 &#xff08;2&#xff09;虽然在我的STM32串口通讯的教程里面已经有描述这部分的内容了。但是担心有些人只是想单纯的了解这个知识点&#xff0c;所以我就又单独…

【工具】putty下载、安装、使用和常用设置教程

一&#xff0c;Putty简介 Putty是一个远程登录工具&#xff0c;适用于 Windows 和 Unix 平台的Telnet、SSH和 RLOGIN客户端。 跨平台支持&#xff1a;PuTTY 可以在多个操作系统上运行&#xff0c;包括 Windows、Linux、Mac 等&#xff0c;使得在不同的平台上使用相同的工具成为…

YOLOV1——你总能在这找到你想要的答案

目录 一&#xff1a;前言 与传统的RCNN的区别在哪&#xff1f; 二&#xff1a;YOLO-V1中心思想 三&#xff1a;计算损失 &#xff08;1&#xff09;&#xff1a;位置损失 为什么高宽要加上根号的损失&#xff1f; &#xff08;2&#xff09;&#xff1a;置信度损失 &a…

一次虚拟机centos7系统崩溃恢复记录

前两天&#xff0c;因为单独断开电源测试网络&#xff0c;结果不知道为什么&#xff0c;两台虚拟机中一台就出现紧急状态&#xff0c;看日志是下面情况 通过网上一些资料&#xff0c;说可以通过xfs_repair -v -L /dev/dm-0来修复&#xff0c;但这次我这里没有相关 看这个mappe…

【Docker】docker部署前Springboot-vue后端分离项目【实战篇】

文章目录 1、docker 安装jdk2、docker 安装mysql通过Docker命令进入Mysql容器内部初始化数据sqlDbx连接查看 3、docker build构建后端镜像修改配置数据库JDBC链接IP为虚拟机服务器IPmaven clean package打包后端jar并上传到服务器编写Dockfilebuild 构建查看构建的后端镜像app …

AAOS系列之音量设置

文章目录 前言UI 处理流程音量键的响应流程AudioService设置音量流程AAOS音量条选项总结 前言 AAOS音量设置内容可以分为几个部分 音量的ui响应流程legacy模式dynamic模式通过按键进行设置 AAOS 音量设置比通用的Android系统复杂&#xff0c;表现在两个方面。首先是UI响应上…

chatgpt赋能python:如何取出带有4的整数

如何取出带有4的整数 Python是一门功能强大的编程语言&#xff0c;可以轻松解决复杂的编程问题。在本文中&#xff0c;我们将介绍如何使用Python编程语言从一个整数列表中取出所有带有4的整数。我们将从介绍如何创建一个整数列表开始&#xff0c;然后编写Python代码以实现我们…

Unreal 5 实现丢弃武器功能

之前实现了物品的拾取功能&#xff0c;但是没有实现丢弃功能&#xff0c;这一篇讲一下我是如何实现丢弃功能的。 丢弃功能的逻辑是&#xff1a;拾取物品时&#xff0c;需要使用拾取的物品进行类的实现&#xff0c;所以&#xff0c;我们需要把数据存储到拾取的物品上&#xff0c…