leetcode Longest Palindromic Substring

题意:找出一个字符串中的最大回文字串。

思路:如果字符串s中存在一个回文字串,那么它的逆串t中也存在着这个回文字串,那么我们可以求s和t的最大连续公共子串。

代码示例

#include <cstring>
class Solution {
public:
    string longestPalindrome(string s) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        int dp[1010][1010];
        memset(dp, 0, sizeof(dp));
        string str = "";
        int len = s.size();
        for(int i = 0; i < len; ++i)
        	str += s[len - 1 - i];
        int ans = 0, pos;
        for(int i = 0; i < len; i++)
        {
        	for(int j = 0; j < len; ++j)
        	{
        		if(s[i] == str[j])
        		{
        			if(i == 0 || j == 0)
        				dp[i][j] = 1;
        			else
        				dp[i][j] = dp[i - 1][j - 1] + 1;
        			if(ans <= dp[i][j])
        			{
        				ans = dp[i][j];
        				pos = i;
        			}
        		}
        	}
        }
        string ch = "";
        for(int i = pos - ans + 1; i <= pos; ++i)
        	ch += s[i];
        return ch;
    }
};


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 很抱歉,由于我是一个语言模型,我无法提供完整的代码。但是我可以提供一些指导和技巧。 若要开发基于C语言的蓝牙控制小车,需要做以下几件事: 1. 使用蓝牙模块连接小车和控制端(如手机或电脑)。 2. 编写C语言代码来发送控制命令,如前进、后退等。 3. 在小车端编写代码来接收并执行这些命令。 请注意,这仅仅是一个大致的概述,实际开发过程中可能需要其他步骤,如配置蓝牙模块等。 ### 回答2: 基于C语言的蓝牙小车代码主要涉及以下几个方面: 1. 蓝牙模块初始化:首先,需要初始化蓝牙模块,设置通信参数。可以使用AT指令集来配置蓝牙模块的工作模式、波特率等。 2. 串口通信:通过串口与蓝牙模块进行通信。使用C语言的串口操作函数来实现数据的发送和接收。 3. 小车控制:利用蓝牙模块接收到的指令来控制小车的动作。可以通过定义控制指令对应的动作函数来实现前进、后退、转向等功能。例如,当接收到前进指令时,调用前进函数来控制小车向前运动。 4. 控制指令解析:通过蓝牙模块接收到的数据进行解析,判断并执行相应的控制动作。可以使用条件语句来判断接收到的指令,并调用相应的控制函数。 5. 主循环:在主循环中不断接收蓝牙模块发送的数据,并进行解析和控制操作。可以使用无限循环来实现这个功能。 6. 调试信息输出:可以在代码中添加调试信息的输出,方便调试和查看程序的运行状态。可以通过串口将调试信息发送到电脑上的终端窗口进行显示。 总之,基于C语言的蓝牙小车代码主要包括蓝牙模块初始化、串口通信、小车控制、控制指令解析、主循环和调试信息输出等功能。通过合理的代码设计和实现,可以实现对蓝牙小车的远程控制和操作。 ### 回答3: 基于C语言的蓝牙小车代码可以分为三个部分:蓝牙控制模块、小车控制模块和主程序模块。 蓝牙控制模块主要用于与蓝牙模块进行通信,接收和发送指令。可以使用UART通信协议对蓝牙模块进行初始化,并设置波特率和数据位。通过读取接收缓冲区的数据,可以获得蓝牙发送的指令。 小车控制模块主要用于控制车轮的转动,根据接收到的指令进行相应的动作。可以使用GPIO控制器来设置各个引脚的输入输出模式,并使用PWM信号控制电机的转速。根据接收到的指令,可以调整电机的转向和速度。例如,当接收到前进指令时,可以设置两个车轮向前旋转,以实现小车的前进动作。 主程序模块则集成了蓝牙控制模块和小车控制模块,实现整个程序的流程控制。主程序首先初始化各个模块,然后进入一个循环,不断接收蓝牙发送的指令。当接收到指令后,主程序根据指令调用小车控制模块的相应函数,对小车进行控制。通过不断循环,实现了小车的持续控制。 以上是关于基于C语言的蓝牙小车代码的简要描述。实际上,具体的实现过程可能会更加复杂,因为需要考虑到蓝牙通信的稳定性和小车控制的精确性等问题。但总的来说,这个代码可以作为一个基础的框架,用于实现蓝牙小车的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值