PHP编程零基础入门视频教程

题目要求

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
(具体要求请看5. 最长回文子串

解题思路

参考了各路大神的解题思路,就这种我感觉比较容易理解一点,所以就采用了中心扩展算法,等我再好好看看马拉车算法再和大家分享吧。
首先要了解回文的特点,它是关于中心对称的,这样的对称分为两种情况,一种的长度为奇数的字符串,一种是长度为偶数的字符串,根据这个特点,就可以分别比较中心两侧对应的字符,通过判断两侧对应字符是否相同来得出当前判断的子串是否为回文,代码如下:

代码

class Solution {

    protected $len    = 0;      // 字符串长度
    protected $start  = 0;      // 起始位置
    protected $length = 0;      // 截取长度

    /**
     * @param String $s
     * @return String
     */
    public function longestPalindrome($s) {
        $this->len = strlen($s);

        for ($i = 0; $i < $this->len; $i++) {
            // 如果起始位置 + 截取长度 = 字符串长度,就不需要继续循环下去,因为可以确定当前长度是最长的
            if ($this->start + $this->length >= $this->len) break;

            $this->expandAroundCenter($s, $i, $i);          // 情况 1: aba
            $this->expandAroundCenter($s, $i, $i + 1);      // 情况 2: bb
        }

        // 使用 substr 函数,截取相应的字符串
        return substr($s, $this->start, $this->length);
    }

    /**
     * @param String  $str
     * @param Integer $left
     * @param Integer $right
     */
    protected function expandAroundCenter($str, $left, $right) {
        // 这里判断左右两边对应字符是否相等,如果相等,left-1,right+1,继续比较
        while ($left >= 0 && $right < $this->len && $str[$left] === $str[$right]) {
            $left--;
            $right++;
        }
        // 当上面循环结束,也就是找到了一个回文子串
        // temp 是子串的长度
        $temp = $right - $left - 1;

        // 与 length 比较,看当前找到的子串是否是较长的那个,
        // 如果是,就给 start 和 length 赋值
        if ($this->length < $temp) {
            $this->start  = $left + 1;
            $this->length = $temp;
        }
    }
}

 

课程目录
1.讲师介绍 http协议 挖掘BUG.mp4

2.搭建apache php mysql.mp4

3.搭建域名.mp4

4.PHP变量 变量的引用.mp4

5.数据类型 字符串函数 常量 运算符 if判断 switch while.mp4

6.补上昨天运算符与优先级.mp4

7.for循环.mp4

8.函数.mp4

9.return 引用函数.mp4

10.数组.mp4

11.时间戳 系统变量 文件操作.mp4

12.GET跟POST请求.mp4

13.三元运算符.mp4

14.mysql数据库文件类型 创建数据库 创建表 字段.mp4

15.文件包含上.mp4

16.文件包含下.mp4

17.MYSQL所有操作.mp4

18.PHP操作数据库.mp4

19.补上数据类型,自增型,搜索关键字,分页.mp4

20.面向对象.mp4

21.session与cookie的原理.mp4

22.定义cookie cookie跨域.mp4

23.文件上传.mp4

24.可变变量.mp4

PHP编程.docx
编程.pptx

 下载地址:百度云盘

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值