LeetCode 5.最长回文字串

STM32驱动LED矩阵:IS31FL3731与查理复用技术实践 LED矩阵显示是嵌入式系统中常见的人机交互方式,其核心在于高效的驱动技术。查理复用(Charlieplexing)作为一种创新的矩阵扫描方式,通过引脚复用技术,用N个引脚驱动N²-N个LED,大幅提升了硬件资源利用率。IS31FL3731驱动芯片集成了这一技术,配合STM32F410RB微控制器的强大性能,可实现144个LED的精准控制。这种组合在艺术装置、信息展示等场景中展现出独特优势,既能呈现丰富的视觉效果,又能通过内置PWM调光实现256级亮度控制。通过I2C接口通信,开发者可以轻松实现字符显示、图像 阅读详情

给你一个字符串 s,找到 s 中最长的回文子串。

示例 1:

输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
示例 2:

输入:s = "cbbd"
输出:"bb"
示例 3:

输入:s = "a"
输出:"a"
示例 4:

输入:s = "ac"
输出:"a"
 

提示:

1 <= s.length <= 1000
s 仅由数字和英文字母(大写和/或小写)组成

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-palindromic-substring

 思路:

从字符串的开头开始,向两边扩散开,来寻找最大的回文子串

困难点:

分奇偶(对应的值分清就OK)

 代码:

char* longestPalindrome(char* s) {
    int p = 0, q = 0, max = 1, len = strlen(s);
    for (int i = 1; i < len; i++) {
        int k = 1;
        while (i - k >= 0 && i + k < len && s[i - k] == s[i + k])k++;
        if (max < (k - 1) * 2 + 1) {
            max = (k - 1) * 2 + 1;
            p = i - k + 1;
            q = i + k - 1;
        }
    }
    for (int i = 0; i < len; i++) {
        if (s[i] == s[i + 1]) {
            int k = 0;
            while (i - k >= 0 && i + 1 + k < len && s[i - k] == s[i + 1 + k])k++;
            if (max < k * 2) {
                max = k * 2;
                p = i - k + 1;
                q = i + k;
            }
        }
    }
    char* ret = (char*)calloc(max + 1, sizeof(char));
    for (int i = 0; i < max; i++)
        ret[i] = s[p + i];

    return ret;
}

交货单冲销发货过账的正确姿势:用 VL09 与 ABAP 批量反冲 Goods Issue 摘要 本文详细解析了SAP系统中VL09事务码的技术实现与业务应用。VL09用于反冲发货的货物移动,通过标准冲销路径(移动类型602冲销601)确保单据链路一致、状态机正确回退和业务规则生效。文章对比了经典VL09与Fiori应用在不同SAP产品形态中的位置,并针对STO场景提供了ME23N验证方法。核心内容包括WS_REVERSE_GOODS_ISSUE函数模块的调用要点、必须COMMIT的原因(SAP LUW机制),以及处理Handling Unit等限制条件的注意事项。最后给出了将VL09工程化的项目 阅读详情

相关推荐

3D Slicer的学习(二) 图像的分割

先对不同层级标注,然后点击Fill between slices -> Initialize -> Apply拖动层级颜色区域就会变成连续自适应的动态变化区域。如图,点击Level tracing,在图像上放置鼠标,会显示可能想要选中区域的轮廓,点击鼠标右键会将其显示为蓝色。然后点击Grow from seeds -> Initialize -> Apply,显示3D之后会自动扩展到其他位置的相同部位,从而展示整个部位。如图为copy之后,将黄色区域的颜色复制到原本的绿色区域。

tuweibazong的博客 6082

leetcode刷题——5.寻找最长回文字串

寻找最长回文字串 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 方法一:中心扩展法, 例如:baab中aa为回文子串,用p[i,j]表示,那s[i-1]==s[j+1],所以p[i-1,j+1]也为回文字串,中心扩展法考虑奇数串,偶数串,所以要判断两部分。 代码如下: class Solution { public: //确定回文字串左右端点的位置 //param

weixin_42846216的博客 468

用MFRC522+STM32打造智能门禁:从硬件选型到云端控制全流程

本文详细介绍了基于STM32微控制器和MFRC522射频模块构建智能门禁系统的完整流程。从硬件选型、电路设计、底层驱动开发,到系统软件架构与状态机设计,并最终实现通过ESP8266模块接入云端平台(如OneNET)进行远程控制和数据可视化。项目深入探讨了MFRC522的SPI通信、卡片操作流程、天线调试以及云端MQTT集成等关键技术,为嵌入式开发者提供了一个从本地感知到云端管控的物联网项目实战参考。

raspberrypi5的博客 741

力扣 最长回文字串-5

多继承(Multiple Inheritance)是指一个类(子类)可以继承自多个父类(基类)。在 C++ 中,类可以有多个父类,从而继承多个类的属性和行为。语法示例// 第一个基类public:// 第二个基类public:// 派生类public:Derived d;// 从 Base1 继承的方法// 从 Base2 继承的方法// 自己的方法return 0;在这个示例中,Derived 类继承了 Base1 和 Base2 两个类,能够访问它们的方法。

Sunyanhui1的博客 1157

linux 内核vxlan收发包流程

1.vxlan口收包处理流程 前面几章详细介绍了vxlan接口的使用,而且已经知道vxlan是 MAC IN UDP中的封装,因此,在解封装之前,一切按照原有流程走,在此复习一下内核收发包流程(驱动层的数据处理这次不再解析,直接从__netif_receive_skb_core开始) #物理网卡处理中断,触发softirq i40e_intr └─napi_schedule_irqoff #i40e softirq把包放到per cpu backlog,触发softirq i40e_napi_p

魏言华的博客 3826

【超简单】一文入门在Ubuntu系统使用GitHub

Github是基于git的代码仓库,对于开发项目的科研者或者工程师,代码仓库都是不可多得的版本控制与多端编程工具,今天这篇文章带你轻松Github入门,简单的项目本文的操作足矣。

a13337649640的博客 5236

leetcode 5最长回文字串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: “babad” 输出: “bab” 注意: “aba” 也是一个有效答案。 示例 2: 输入: “cbbd” 输出: “bb” 第一遍的暴力搜索,961ms class Solution { char[] ch; int n; public String longestPalindrome(String s) { ch=s.toCharArray();

qq_43460108的博客 191

Lumerical 教程,包含作者个人理解及相关设计案例 (目前共计184篇,持续更新中)

4138。

u011699626的博客 1623

leetcode5_最长回文字串

枚举大法

m0_62404686的博客 654

ESP32-IDF开发之旅 网络篇⑩ Web配网

本文介绍了基于ESP32S3的Web配网实现方案。作者通过移植开源项目,在ESP32S3上实现了WiFi配置功能,包括AP模式创建、HTTP服务器搭建、NVS存储读写等核心功能。文章详细解析了代码结构,包含WiFi初始化、事件处理、NVS存储管理和HTML页面服务等关键模块。实现方案采用AP+STA双模式,支持通过网页扫描WiFi并保存配置信息,适用于物联网设备的网络配置场景。代码中使用了FreeRTOS任务、ESP-IDF事件组等技术,并提供了完整的错误处理和日志记录功能。

单片机菜鸟哥的博客 350

CesiumForUnreal实现鹰眼地图(MiniMap)效果

CesiumForUnreal实现鹰眼地图(MiniMap)效果

专注GIS开发 3951

leetcode5.最长回文字串

问题描述: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: “babad” 输出: “bab” 注意: “aba” 也是一个有效答案。 示例 2: 输入: “cbbd” 输出: “bb” 思路分析: 这道题由于数据范围比较小所以可以用暴力直接做时间复杂度为O(N)。找到回文串的中心直接向两边扩展,直到遇到不同的字符或者某一边出了边界为止。由于回文串有两种情况,当回文串为基数时s[i - k] == s[i + k],为偶数时s[i - 1 - k

m0_46630461的博客 244

dify制作的工作流如何通过API调用

本文介绍了如何通过Python程序调用Dify工作流API实现数据处理功能。文章详细展示了workflow和chatflow的调用方法,包括参数设置和结果输出,并提供了一个完整的API调用工具代码示例。该工具可实现文本处理、成果查重、关键词生成等功能,支持通过Python脚本或Postman进行调用。核心代码包含API请求函数和批量处理函数,通过HTTP请求与Dify服务端交互,实现自动化数据处理流程。

hhue2007的专栏 935

LeetCode.5最长回文字串

题目: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba"也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" 解法一:暴力穷举,超时啦 class Solution(object): def longestPalindrome(self,...

sweat2heart的博客 177

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Leetcode5[Med] 最长回文字串-DP

Leetcode5[Med] 最长回文字串-DP 思路借鉴:DP,下面是 代码. class Solution(object): def longestPalindrome(self, s): """ :type s: str :rtype: str """ matrix = [[0 for i in rang...

xbshao的博客 204

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

LeetCode5、最长回文字串

题目描述 https://leetcode-cn.com/problems/longest-palindromic-substring/ 解法(存在的问题——dp数组遍历的顺序还不太明确) 第一次通过代码: class Solution { public String longestPalindrome(String s) { //字符串,使用双指针,则使用二维数组 if(s==null) return null; if(s.length()==0)

LH is programming hard 195

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

leetcode(5) 最长回文字串

       最长回文子串问题的描述很简单,给定一个字符串 s,找到 s 中最长的回文子串。例如我们的字符串是 babd,那么最长的回文子串就是 bab,也就是正反两个方向都是一致的。        我写的算法是中点拓展法。长度为 n 的字符串我们可以看成 2*n - 1  个点,即字符本身和字符中间的位置都是我们拓展的点。显然这种算法的复杂度是 O(n^2),还是属于该复杂度中计算量较大的。因...

baidu_41902768的博客 333

Leetcode记录 5最长回文字串

思路:中心扩展法,检测字符串s中每个以i为中心或i和i+1中间为中心的最长回文字串长度,总共需要检查(2n−1)(2n-1)(2n−1)个中心根据长度和i下标得到最长回文字串的左右位置下标,得到子串。 时间复杂度:O(n2)O(n^{2})O(n2) class Solution { //中心扩展算法 int get_length(String s,int i,int ...

sinat_35982107的博客 104

LeetCode5最长回文字串

给你一个字符串 s,找到 s 中最长的回文子串。解释:“aba” 同样是符合题意的答案。输入:s = “babad”输入:s = “cbbd”s 仅由数字和英文字母组成。大家有问题的话可以留言。

nuc_ghp的博客 292

力扣第5题:最长回文字串

中心扩散法,动态规划法,暴力破解法

sxycylq的博客 183

Leetcode题5、最长回文字串(Python题解)

问题: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: “babad” 输出: “bab” 注意: “aba” 也是一个有效答案。 示例 2: 输入: “cbbd” 输出: “bb” 题目来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/tlongest-palindromic-substring 难度:中等 分析: 这道题的官方解法非常好,很清晰。 官解:https://leetcode-c

AI414010的博客 821

【Leetcode 5】最长回文字串 —— 动态规划

我们可以使用动态规划解决本题,解题思路: 1. 状态定义:`dp[l][r]`表示起点为i,终点为j的字串是否回文串 2. 状态转移方程:`dp[l][r] = dp[l + 1][r - 1] && char[l] == char[r]`,即dp[l + 1][r - 1]为回文串且i和j的字符相同

若明天不见 592

leetcode5、最长回文字串

题目描述: 给你一个字符串 s,找到 s 中最长的回文子串。 示例 1: 输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。 示例 2: 输入:s = "cbbd" 输出:"bb" 示例 3: 输入:s = "a" 输出:"a" 示例 4: 输入:s = "ac" 输出:"a" 题目解析: 最长回文字串有几个特点: 1、1个字符一定是回文字串;2、首尾字符相同;3、去除首尾后的字符串依旧是回文串 因此可以使用动态规划法,开辟一个二维数组,s[i][j

weixin_56814042的博客 167

Leetcode 5 最长回文字串 学习感悟

首先第一点需要明确动态规划的状态转移方程: dp[i][j] 含义为 数组中下标 i 到 下标 j 是否为回文串,若为回文串dp[i][j]=1 ,若不为回文串dp[i][j]=0 (1)dp[i][i]=1; //边界1当处于单字母时候 ,本身必为回文串 (2)dp[i][i+1]=1 ( s[i]==s[i+1]) //边界2当处于双字母时候,左右相等则为回文字串 (3) dp[i][j]=1 (s[i]==s[j]&&dp[i+1][j-1]) //正常的区域...

博客 196

[LeetCode] 5. 最长回文字串

最长回文字串 固定一个中心,然后向两边走判断是否回文即可。主要注意的是回文串的中心有两种情况,一种是一个点,另一种是2个相同的点。"aba" 同样是符合题意的答案。

weixin_65043441的博客 365

最长回文字串 leetcode 5 Longest Palindromic Substring

方法一:动态规划回文字符串去掉收尾字符后依然是回文串,即p[i][j]是回文穿,则p[i+1][j-1]也是回文串;状态方程和转移方程如下:p[i][j]=p[i+1][j-1] if(s[i]==s[j])p[i][j]=false if(s[i]!=s[j])此处,p[i][j]=true 表示字串[i,j]是回文串,p[i,j]=false表示p[i,j]不是回文,复杂度O(N^2)考虑到i...

weixin_39303680的博客 155
上一篇: 开灯问题(算法入门)
下一篇: LeetCode 翻转字符串里的单词
「已注销」
博客等级 码龄6年 43粉丝 33原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值