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

每日OJ题_牛客_小红的ABC_暴力/找规律_C++_Java

目录

牛客_小红的ABC_暴力/找规律

题目解析

C++代码1暴力

C++代码2找规律​编辑

Java代码找规律


牛客_小红的ABC_暴力/找规律

小红的ABC (nowcoder.com)

描述:
        小红拿到了一个只包含 'a' , 'b' , 'c' 三种字符的字符串。小红想知道,这个字符串最短的、长度超过 1 的回文子串的长度是多少?
        子串定义:字符串取一段连续的区间。例如"abcca"的子串有"ab"、"bcca"等,但"aca"则不是它的子串。
        回文的定义:一个字符串正着读和倒着读都是相同的,那么定义它的回文的。

输入描述:

一个只包含 'a' , 'b' , 'c' 三种字符的字符串。

数据范围:字符串长度不小于2,且不超过100

输出描述:

如果不存在长度超过1的回文子串,则输出-1。

否则输出长度超过1的最短回文子串的长度。


题目解析

  • 解法1:模拟。用数组或者链表模拟均可。但是数据量大的话会超时。
  • 解法2:数学规律。通过画图可以找到相邻两次删除坐标的规律。通过递推关系,求出剩下的最后一个数是哪个。

C++代码1暴力

#include <climits>
#include <iostream>
using namespace std;
string str;bool isPal(int left, int right)
{while(left < right){if(str[left] == str[right])++left, --right;elsereturn false;}return true;
}
int main()
{cin >> str; // 暴力int n = str.size(), res = INT_MAX;for(int i = 0; i < n; ++i){for(int j = i + 1; j < n; ++j){if(isPal(i, j))res = min(res, j - i + 1);}}res = res == INT_MAX ? -1 : res;cout << res << endl;return 0;
}

C++代码2找规律

#include <iostream>
using namespace std;int main()
{string str;cin >> str;int n = str.size(), res = -1;for(int i = 0; i < n; ++i){if(i - 1 < n && str[i] == str[i + 1]){res = 2;break;}if(i - 2 < n && str[i] == str[i + 2]){res = 3;}}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 = -1; // 并没有回⽂串int n = s.length;for(int i = 0; i < n; i++){if(i + 1 < n && s[i] == s[i + 1]) // 判断⻓度为 2 的⼦串{ret = 2;break;}if(i + 2 < n && s[i] == s[i + 2]) // 判断⻓度为 3 的⼦串{ret = 3;}}System.out.println(ret);}
}

http://www.mrgr.cn/news/59182.html

相关文章:

  • Flink-cdc Schema Evolution 详解
  • 十二、信息系统架构设计理论与实践
  • 第九章 Mybatis多表操作之多对多配置
  • 高并发场景下解决并发数据不一致
  • 面试题框架篇
  • Lucas带你手撕机器学习——套索回归
  • 了解AIGC——自然语言处理与生成
  • 大学新生入门编程的推荐路径
  • 神经架构搜索:自动化设计神经网络的方法
  • 深入理解JAVA虚拟机(一)
  • 全面解读 @Transactional 的传播机制:一次搞懂 Spring 事务的各种“传播方式”!
  • 常用设计模式...
  • 【Vulnhub靶场】DC-4
  • 2024高等代数【南昌大学】
  • 用kali入侵 DarkHole_2测试
  • 小白直接冲!一区蛇群优化算法+双向深度学习+注意力机制!SO-BiTCN-BiGRU-Attention多输入单输出回归预测
  • 安全见闻-web安全
  • 【Vue 3】全面解析Composition API的实战技巧
  • Python 从入门到实战40(数据分析概述)
  • C# async-await循环依赖梳理
  • 第四期书生大模型实战营(【入门岛】- 第2关 | Python 基础知识 )
  • 【Linux】SQLite 数据库安装教程(Ubuntu 22.04)
  • Linux之web服务器
  • 快捷键记忆
  • 变频器启动、停止、正/反转控制电路原理详解
  • Leecode热题100-287.寻找重复数