算法训练营day48,动态规划16

package main

func max(a, b int) int {

  if a > b {

    return a

  }

  return b

}

//647. 回文子串

func countSubstrings(s string) int {

  n := len(s)

  dp := make([][]bool, n)

  for i := 0; i < n; i++ {

    dp[i] = make([]bool, n)

  }

  num := 0

  for i := n - 1; i >= 0; i-- {

    for j := i; j < n; j++ {

      if s[i] == s[j] {

        // 如果j和i相同,字符串等a是回文,如果j和i之差等于1 ,字符串等aa也是回文

        if j-i <= 1 {

          dp[i][j] = true

          num++

          //相差大于1看dp[i + 1][j - 1]是否为true,为true也是回文

        } else if dp[i+1][j-1] {

          dp[i][j] = true

          num++

        }

      }

    }

  }

  return num

}

//516. 最长回文子序列

func longestPalindromeSubseq(s string) int {

  n := len(s)

  dp := make([][]int, n)

  for i := 0; i < n; i++ {

    dp[i] = make([]int, n)

    dp[i][i] = 1

  }

  for i := n - 1; i >= 0; i-- {

    for j := i + 1; j < n; j++ {

      if s[i] == s[j] {

        //左右两边相等加2

        dp[i][j] = dp[i+1][j-1] + 2

      } else {

        //不相等取左右两边最大值

        dp[i][j] = max(dp[i][j-1], dp[i+1][j])

      }

    }

  }

  return dp[0][n-1]

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/747544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot原理解析

目录 依赖管理父项目依赖starter场景启动器 自动配置 Bean 和Component 的区别&#xff1a; 容器功能注解 简化开发web场景开发请求处理响应请求 thymeleaf视图解析原理流程 HandlerInterceptor拦截器文件上传异常处理错误处理默认规则定制错误处理逻辑异常处理自动配置异常处理…

微信分销商城小程序开发定制价格解析

在互联网时代&#xff0c;电子商务的飞速发展使得微信分销商城小程序成为消费者购物体验的一大利器&#xff0c;同时也为企业带来了更多的商业机遇。那么&#xff0c;微信分销商城小程序开发定制的价格究竟是多少呢&#xff1f;这个问题需要从多个方面来加以考虑。首先&#xf…

代码随想录|Day20|二叉树09|669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

669. 修剪二叉搜索树 思路&#xff1a;利用二叉搜索树的性质&#xff0c;对于每个节点&#xff0c;判断其是否在区间内&#xff1a; 如果节点值 < low&#xff0c;则此节点和其左子树都不在范围内如果节点值 > high&#xff0c;则此节点和其右子树都不在范围内如果 low &…

MySQL 相关英文单词

1、database[deɪtəbeɪs] n. 数据库&#xff0c;资料库 2、net[net] 网络 3、start[stɑ:t] vt. 开始&#xff1b;启动 4、stop[stɒp] vi. 停止&#xff1b;中止&#xff1b;n. 停止&#xff1b;车站 5、root[ru:t] 根&#xff0c;MySQL 的超级管理员的用户名 6、…

鸿蒙视频播放的实现

文章目录 前言播放效果视频播放的实现总结 一、前言 现在市面上很多应用都跟视频有关&#xff0c;那么在鸿蒙系统上怎么来播放视频呢&#xff0c;今天就讲解视频播放控件&#xff0c;让你也能快速地进行视频播放功能开发。 最后呢&#xff0c;我会提供一个鸿蒙中涉及的主要…

2024年华为OD机试真题-任务处理-Java-OD统一考试(C卷)

题目描述: 在某个项目中有多个任务(用 tasks 数组表示)需要您进行处理,其中 tasks[i] = [si, ei],你可以在 si <= day <= ei 中的任意一天处理该任务。请返回你可以处理的最大任务数。 注:一天可以完成一个任务的处理。 输入描述: 第一行为任务数量 n,1 <= n …

二刷代码随想录——动态规划day47

文章目录 前言动态规知识点 动规五部曲一、198. 打家劫舍二、213. 打家劫舍 II三、337. 打家劫舍 III总结 前言 一个本硕双非的小菜鸡&#xff0c;备战24年秋招&#xff0c;计划二刷完卡子哥的刷题计划&#xff0c;加油&#xff01; 二刷决定精刷了&#xff0c;于是参加了卡子…

元函数与运行期(普通)函数的区别,为什么要用元函数?

看以下面代码你就知道了&#xff1a; /// <summary> /// 求整数所对应的二进制表示中1的个数 /// </summary> /// <typeparam name"Input"></typeparam> /// 创建时间&#xff1a;2024-01-24 抄自&#xff1a;《动手打造深度学习框架》 21…

深度学习模型部署(十)模型部署配套工具二

上篇blog讲了trtexec和onnx_graphsurgeon两个工具&#xff0c;一个用于将onnx转化为trt模型&#xff0c;另一个用于对onnx模型进行修改。这篇blog讲polygraphy和nsight systems&#xff0c;前者用于进行模型优化以及结果验证&#xff0c;后者用于性能分析。 polygraph polygra…

️ 亲身体验!探索工业界最前沿的安全帽数据集,你的工作安全靠它保驾护航!

一、SHWD安全帽佩戴检测数据集&#xff08;Safety helmet (hardhat) wearing detect dataset&#xff09; 介绍 SHWD 提供了用于安全头盔佩戴和人头检测的数据集。它包括7581张图像&#xff0c;其中9044个人体安全头盔佩戴对象&#xff08;正面&#xff09;和111514个正常头部…

渐开线花键不是齿轮?

在和一位小伙伴交流时&#xff0c;他认为齿轮和花键不一样&#xff0c;那花键是不是齿轮呢&#xff1f;老师傅们可以绕开了&#xff0c;我觉得对于一些平时接刚刚接触齿轮&#xff0c;或者很少接触的朋友来说&#xff0c;还是有必要聊一聊这个话题。 首先这个问题并不严谨&…

DeePhage:预测噬菌体的生活方式

GitHub - shufangwu/DeePhage: A tool for distinguish temperate phage-derived and virulent phage-derived sequence in metavirome data using deep learning 安装 conda create -n deephage conda activate deephage pip install numpy pip install h5py pip install ten…

Spring Security入门教程:利用Spring Security实现安全控制

在现今这个数码大展拳脚的时代&#xff0c;安全问题无疑是咱们这些搞软件开发的人需要谨慎应对的一块烫手山芋&#xff0c;无论是那些大型企业应用&#xff0c;还是那种小打小闹的个人项目&#xff0c;对我们宝贵的数据和服务的保护都显得尤为关键。 试想一下&#xff0c;若是…

Java代码基础算法练习-求数据序列的最大值及最小值---2024.3.15

题目 任务描述&#xff1a;输入n个整数&#xff0c;求n个整数的最大值及最小值&#xff0c;并输出相应的位置序号。&#xff08;注&#xff1a;n<10&#xff0c; 位置序号从1开始计算&#xff0c;若存在多个相同值的情形&#xff0c;则输出第1个值的序号&#xff09; 任务要…

深度学习训练结果记录---日志文件写入logger 【简洁明了】

目录 介绍举例1.引入头文件2.封装函数3.在程序入口调用4. 记录训练过程 介绍 在进行深度学习模型训练的过程中&#xff0c;一般会设置log日志&#xff0c;将训练过程的中间结果以及最终结果写入&#xff0c;方便再次打开的时候进行查看。 logging的一些函数这里就不作介绍&…

【Realsense】解决Ubuntu 20.04安装Realsense SDK后realsense-ros报错的问题

最近在Ubuntu 20.04上安装了Realsense SDK&#xff08;版本为2.54.2&#xff09;&#xff0c;但在尝试编译安装realsense-ros&#xff0c;按照Intel官方安装教程执行catkin_clean&#xff08;或者catkin_make&#xff09;&#xff0c;遇到了如下报错&#xff1a; CMake Error …

PTA题解 --- 求整数段和(C语言)

今天是PTA题库解法讲解的第二天&#xff0c;接下来讲解求整数段和&#xff0c;题目如下&#xff1a; 为了解决这个问题&#xff0c;你可以遵循以下的思路&#xff1a; 1. 读取输入的两个整数A和B。 2. 使用一个for循环&#xff0c;从A遍历到B。 3. 在循环中&#xff0c;打印当…

试卷上的水印如何去除?分享3种常用的方法!

在日常生活和工作中&#xff0c;我们经常会遇到一些带有水印的试卷或文档&#xff0c;这些水印不仅影响了我们的阅读体验&#xff0c;还可能对我们的工作和学习产生一定的困扰。那么&#xff0c;如何有效去除试卷上的水印呢&#xff1f;今天&#xff0c;就让我们一起来探讨这个…

渗透测试实战思路分析

免责声明&#xff1a;文章来源真实渗透测试&#xff0c;已获得授权&#xff0c;且关键信息已经打码处理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人…

【LeetCode周赛】第388场周赛

目录 100233. 重新分装苹果 简单100247. 幸福值最大化的选择方案 中等100251. 数组中的最短非公共子字符串 中等100216. K 个不相交子数组的最大能量值 困难 100233. 重新分装苹果 简单 100233. 重新分装苹果 分析&#xff1a; 排序贪心 代码&#xff1a; class Solution {…