HDU - 3068 最长回文 【马拉车,Java架构师技术路线


///马拉车算法]

#define _CRT_SECURE_NO_WARNINGS 

#include<cstdio>

#include<cstring>

#include<iostream>

#include<algorithm>

using namespace std;

const int  maxn = 1e7 + 10;

char str[maxn];  ///原字符串

char tmp[maxn];  ///转换后的字符串

int len[maxn];  ///辅助数组

int INIT(char *st)//转换字符串

{

	int i, len = strlen(st);

	tmp[0] = '@';  ///开头特殊字符,防止越界

	for (i = 1; i <= 2 * len; i += 2)

	{

		tmp[i] = '#';

		tmp[i + 1] = st[i / 2];

	}

	tmp[2 * len + 1] = '#';

	tmp[2 * len + 2] = '$';  //结尾特殊字符,防止越界

	tmp[2 * len + 3] = 0;

	return 2 * len + 1;

}

///马拉车算法

int  MANACHER(char *st, int Len)

{

	int mx = 0, ans = 0, po = 0;///mx即为当前计算回文串最右边字符的最大追

	for (int i = 1; i<= Len; i++)

	{

		if (mx > i)

			len[i] = min(mx - i, len[2 * po - i]);///在len[j]和mx-i中取最小

		else

			len[i] = 1; i>.=mx,要从头开始匹配

		while (st[i - len[i] ]== st[i + len[i]])

			len[i]++;

		if (len[i] + i > mx)//新计算的回文串右端点位置大于mx,更新po和mx

		{

			mx = len[i] + i;

			po = i;

		}

		ans = max(ans, len[i]);

	}

	return ans - 1; ///len[i]最大值-1即为原回文串的最大长度

}

int  main()

{

	while (scanf("%s", str) != EOF)

	{

		int len=INIT(str);



# Spring全套教学资料

**Spring是Java程序员的《葵花宝典》,其中提供的各种大招,能简化我们的开发,大大提升开发效率!目前99%的公司使用了Spring,大家可以去各大招聘网站看一下,Spring算是必备技能,所以一定要掌握。**

**[CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】](https://codechina.csdn.net/m0_60958482/java-p7)**

**目录:**

![](https://img-blog.csdnimg.cn/img_convert/93bac8bd0b4d91c7e171bdb57ba0258e.png)

![](https://img-blog.csdnimg.cn/img_convert/cfb9a2dfd763ebdb944782c1e6cff471.png)

**部分内容:**

![](https://img-blog.csdnimg.cn/img_convert/e38488e69d6b833b0075ceea0d47f398.png)

![](https://img-blog.csdnimg.cn/img_convert/f0e8f64d27939beeba970066007817b5.png)

# Spring源码

*   第一部分 Spring 概述
*   第二部分 核心思想
*   第三部分 手写实现 IoC 和 AOP(自定义Spring框架)
*   第四部分 Spring IOC 高级应用
    基础特性
    高级特性
*   第五部分 Spring IOC源码深度剖析
    设计优雅
    设计模式
    注意:原则、方法和技巧
*   第六部分 Spring AOP 应用
    声明事务控制
*   第七部分 Spring AOP源码深度剖析
    必要的笔记、必要的图、通俗易懂的语言化解知识难点

![](https://img-blog.csdnimg.cn/img_convert/f2657c16c4fa6a41b1ca5a6dde7edced.png)

![](https://img-blog.csdnimg.cn/img_convert/68a7e593782c3c05d84d318e10f44c39.png)

# 脚手框架:SpringBoot技术

> 它的目标是简化Spring应用和服务的创建、开发与部署,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用的微服务功能,可以和spring cloud联合部署。
>
> Spring Boot的核心思想是约定大于配置,应用只需要很少的配置即可,简化了应用开发模式。

*   SpringBoot入门
*   配置文件
*   日志
*   Web开发
*   Docker
*   SpringBoot与数据访问
*   启动配置原理
*   自定义starter

![](https://img-blog.csdnimg.cn/img_convert/0f21fe89662766127ab0d53852e44c16.png)

![](https://img-blog.csdnimg.cn/img_convert/450bc9acfa2709f65e8b1bdab10fa6a0.png)

# 微服务架构:Spring Cloud Alibaba

> 同 Spring Cloud 一样,Spring Cloud Alibaba 也是一套微服务解决方案,包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

*   微服务架构介绍
*   Spring Cloud Alibaba介绍
*   微服务环境搭建
*   服务治理
*   服务容错
*   服务网关
*   链路追踪
*   ZipKin集成及数据持久化
*   消息驱动
*   短信服务
*   Nacos Confifig—服务配置
*   Seata—分布式事务
*   Dubbo—rpc通信

![](https://img-blog.csdnimg.cn/img_convert/0462d0145314139a4d16517aacc10552.png)

![](https://img-blog.csdnimg.cn/img_convert/0d3eed462286a9a528bb7755363b03a5.png)

# Spring MVC

**目录:**

![](https://img-blog.csdnimg.cn/img_convert/8aa8efef8a9d7669bf439a41864140c4.png)

![](https://img-blog.csdnimg.cn/img_convert/429068be9259d4f69aa3867694a2d6bb.png)

![](https://img-blog.csdnimg.cn/img_convert/29fef5bb2e6f2deb2bc57fd1d79df02b.png)

**部分内容:**

![](https://img-blog.csdnimg.cn/img_convert/c0534a001500f7e02db13103f69fe93d.png)

![](https://img-blog.csdnimg.cn/img_convert/50d51a0519c41aef9586366e5f0b24b4.png)

30373686951)]

[外链图片转存中...(img-hyoQfNSs-1630373686951)]

[外链图片转存中...(img-0XNXZBrR-1630373686952)]

**部分内容:**

[外链图片转存中...(img-lAuwjSOd-1630373686952)]

[外链图片转存中...(img-j7J4romr-1630373686953)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值