18 回文字符串 (后续用动态规划再做一下)

2023-10-31

题目

在这里插入图片描述

思路 题解

方法1:思路都在代码里了

class Solution {
public:
    int countSubstrings(string s) {
        //每个值都作为中心值 左右两个指针 但是要考虑奇偶的情况bb 和 aba   ----> i前面的字符串是不是回文串abcde  a ab abc abcd abcde依次判断这些字符串有几个回文串 这样就可以有奇偶的情况了
        //那怎么判断是不是回文并且返回正确的回文数呢 以abcde举例 看是不是回文 有几个回文 就还是找中间,判断奇偶 然后加
        int n = s.size();
        int count = 0;
        for(int i = 0; i < n*2-1; i++)//要让每个值 都做中间
        {
            int l = i/2;//5/2 = 2;abcde那就是正中间位置的元素  4/2 =2;abcd 偏右的元素了 那r咋整 也不能直接加1
            //啊 不是 abcde i= 4; 4/2 = 2 正中间位置 abcd i= 3 3/2 = 1在b的位置 这样r+1 在c的位置 
            int r = i/2 + i%2;//奇数在同一个位置  偶数在两侧
            while(l >= 0 && r < n && s[l] == s[r])//这样奇数单个也算进去了
            {
                count++;
                l--;
                r++;
            }
        }
        return count;
    }
};

方法2 找出回文个数为i的字符串 觉得这个思路也很棒

在这里插入图片描述

方法3 这个思路是我第一次做但是卡在了奇偶情况下 看到了这个醍醐灌顶 j = 0或者1

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

18 回文字符串 (后续用动态规划再做一下) 的相关文章

随机推荐

  • Mac上配置python3的环境变量

    1 查看当前python3的位置 which python3 我的电脑当前地址路径是 usr local bin python3 2 准备好环境变量的配置内容 PATH usr local bin PATH export PATH alia
  • python开篇-------python介绍

    一 python介绍 python的创始人为吉多 范罗苏姆 Guido van Rossum 1989年的圣诞节期间 Guido开始写Python语言的编译器 Python这个名字 来自Guido所挚爱的电视剧Monty Python s
  • swap 空间去哪里了?

    问题背景 xxxx 项目中 在内存充足的情况下 swap 被使用 需要优化并释放 问题分析过程 内核参数没有配置 vm swappiness 0 0表示最大限度使用物理内存 其次才是 swap 空间 默认值应该是60 100表示积极的使用
  • 2. 快速了解前端三大件(HTML、CSS、Javascript)

    2 1 Web开发的标准 Web应用开发需要遵循的标准就教Web标准 这里Web标准是一系列标准的集合 网页主要由三部分组成 结构标准 XML HTML和XHTML 表现标准 CSS 行为标准 DOM Javascript 2 2 HTML
  • 正则表达式(详解)

    文章目录 1 基本匹配 1 1 标志 大小写i 全局g 多行m 1 2 零宽度断言 前后预查 1 4 贪婪匹配与惰性匹配 Greedy vs lazy matching 2 常见语法 表格 2 1 元字符 2 2 特殊符号 2 3 扩展表示
  • ARM指令集

    往期推荐 ARM汇编语言程序结构 Android与ARM处理器 反射调用Java层方法 反射获取Java层字段的值 ARM指令集是指计算机ARM操作指令系统 在ARM中有两种方式可以实现程序的跳转 一种是跳转指令 另一种是直接向PC寄存器中
  • 构建LAMP网站服务 第一步 编译安装httpd服务器

    构建LAMP网站服务 第一步 编译安装httpd服务器 1 安装前准备 2 编译安装apr 3 编译安装expat 4 编译安装apr util 5 编译安装pcre 6 编译安装httpd 7 selinux配置 8 防火墙配置 9 修改
  • 【编程规范】一文讲解开发中的异常日志

    异常日志规范 在处理异常 日志的时候 遵守一些规范可以避免很多问题 异常处理 强制 Java 类库中定义的一类 RuntimeException 可以通过预先检查进行规避 而不应该通过 catch 来处理 比如 IndexOutOfBoun
  • 设置物体的位置 localPosition的用法

    设置物体的位置 m obstacle 0 transform localPosition new Vector3 8 4f 9 18f 9 26f
  • linux、windows命令行设置环境变量(增删改查)

    linux windows命令行设置环境变量 增删改查 1 windows下设置环境变量 1 1 环境变量优先级 1 2 查看环境变量 1 3 设置或修改环境变量 1 4 删除环境变量 1 5 给系统变量追加内容 2 linux下设置环境变
  • 深入剖析HTTP和HTTPS代理在爬虫中的应用价值

    目录 什么是HTTP和HTTPS代理 HTTP和HTTPS代理如何运作 HTTP代理的工作流程如下 HTTPS代理工作流程 网络爬虫使用HTTP代理的好处 网络爬虫使用HTTPS代理的好处 代码示例 总结 在当今互联网时代 网络爬虫作为一种
  • 使用深度学习打造智能聊天机器人

    版权声明 可以任意转载 转载时请标明文章原始出处和作者信息 author 张俊林 聊天机器人 也可以称为语音助手 聊天助手 对话机器人等 是目前非常热的一个人工智能研发与产品方向 很多大的互联网公司重金投入研发相关技术 并陆续推出了相关产品
  • 别逗了!知识付费能支撑起喜马拉雅的200亿估值?

    近日 据消息称喜马拉雅FM已经完成VIE架构搭建 并已完成新一轮4 6亿美元融资 投资方包括春华资本 腾讯 泛大西洋投资 华泰证券 高盛和新天域 投后估值34亿美元 将于明年上半年赴美IPO 对于半年多次传出要上市的喜马拉雅 此时官方并没有
  • YOLOV8改进:更换PoolFormer主干网络

    1 该文章属于YOLOV5 YOLOV7 YOLOV8改进专栏 包含大量的改进方式 主要以2023年的最新文章和2022年的文章提出改进方式 2 提供更加详细的改进方法 如将注意力机制添加到网络的不同位置 便于做实验 也可以当做论文的创新点
  • Linux操作系统简介

    文章目录 Linux发行版简介 学习Linux的必备硬件知识 关键硬件器件 CPU 关键硬件器件 存储 关键硬件器件 内存 其他一些查看硬件信息的命令 Linux开机过程 以Ubuntu16 04为例 阶段1 BIOS 阶段2 boot L
  • 技术人修炼之道阅读笔记(一)让自己更值钱的5个能力

    如何让自己更值钱 回答这个问题 需要使用黄金圈理论 黄金圈理论是一种由内而外的思维模式 提倡 why 为什么这么做 how 如何做 what 做什么 三个圈来思考或决策 首先是 why 你因为什么而值钱 要值钱 就要时刻保持稀缺性 别人不会
  • Python网络爬虫学习笔记(四)解析库的使用

    解析库的使用 使用正则表达式 比较烦琐 而且万一有地方写错了 可能导致匹配失败 对于网页的节点来说 有 id class 或其他属性 而且节点之间还有层次关系 在网页中可以通过 XPath 或 css 选择器来定位一个或多个节点 利用 XP
  • Halcon Qt 环境一次性配置

    新建 halcon pri文件 halcon pri 内容 INCLUDEPATH C Program Files MVTec HALCON 20 11 Steady include INCLUDEPATH C Program Files
  • 六、操作系统之文件管理

    六 文件管理 文件系统的概念 文件系统时OS与用户关系最紧密的一部分 对用户来说 它是OS中最直观的部分 能否方便使用OS 以及OS的可信赖程度往往取决于文件系统的功能和性能 1 文件和文件系统 2 文件系统的功能 3
  • 18 回文字符串 (后续用动态规划再做一下)

    题目 思路 题解 方法1 思路都在代码里了 class Solution public int countSubstrings string s 每个值都作为中心值 左右两个指针 但是要考虑奇偶的情况bb 和 aba gt i前面的字符串是