「这是我参与11月更文挑战的第15天,活动详情查看:2021最后一次更文挑战」
导读
肥友们为了更好的去帮助新同学适应算法和面试题,最近我们开始进行专项突击一步一步来。我们先来搞一下让大家最头疼的一类算法题,动态规划我们将进行为时21天的养成计划。还在等什么快来一起肥学进行动态规划21天挑战吧!!
21天动态规划入门
给你一个字符串 s,找到 s 中最长的回文子串。
1 | java复制代码示例 1: |
1 | java复制代码示例 2: |
1 | java复制代码示例 3: |
1 | java复制代码示例 4: |
1 | java复制代码class Solution { |
给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。
子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。
1 | java复制代码示例 1: |
1 | java复制代码示例 2: |
1 | java复制代码对于一个子序列而言,如果它是回文子序列,并且长度大于 22,那么将它首尾的两个字符去除之后,它仍然是个回文子序列。因此可以用动态规划的方法计算给定字符串的最长回文子序列。 |
面试题
继续二叉树的阶段:
1 | java复制代码//构建节点类 |
1 | java复制代码package tree; |
本文转载自: 掘金