字节跳动的一道动态规划面试题

Posted 写代码的阿宗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字节跳动的一道动态规划面试题相关的知识,希望对你有一定的参考价值。

最近公司大量招人,发动了大家的力量。我也跟着一起下载了脉脉,脉脉上好多HR在招人。碰巧看见了一个猎头的动态,说这就是字节的算法面试题,你能做对几道?我大概扫了一眼,考察深度优先搜索(DFS),链表的题目不在少数,动态规划的题目也特别醒目。对DFS,链表相关题目感兴趣的可以看我之前的文章。正好我们昨天在聊动态规划的爬楼梯问题,今天我们也就来聊聊字节面试题中的最长回文子序列问题

题目是这样的:给定一个序列,找到其中最长的回文子序列,并返回该序列的长度。对于一个回文子序列来说,正着读跟倒着读都一样。我们对子序列的定义是,它可以由其它序列删除一些元素或者不删得到,不影响剩余的元素的顺序。

示例 1:

输入:
"abdbca"
输出:
5
一个可能的最长回文子序列为 "abdba"。

示例 2:

输入:
"cddpd"
输出:
3
一个可能的最长回文子序列为 "ddd"。

基本思路

最直接最暴力的方式还是递归出它所有的子序列就好了嘛!虽然这一听就不是太好的主意。

以上是关于字节跳动的一道动态规划面试题的主要内容,如果未能解决你的问题,请参考以下文章

记一道字节跳动的算法面试题

字节跳动一道力扣没有的高频面试题题——排序奇升偶降链表

一道字节跳动面试题——判断字符串交错

奉劝还在找工作的学弟学妹们:这一道字节跳动的算法面试题一定要会!

经验总结:Java高级工程师面试题-字节跳动,成功跳槽阿里!

动态规划字节跳动算法笔试遭遇雨水坑问题