编程与数据结构算法
手撕:最长公共子序列(LCS),要求使用二维动态规划实现;最长公共子串。
手撕:最长公共子序列(LCS),要求使用二维动态规划实现;
最长公共子串。
原题完整原题
【最长公共子序列】手撕:最长公共子序列(LCS),要求使用二维动态规划实现;最长公共子串。 「字节跳动、拼多多、百度、腾讯、腾讯混元、阿里通义」
【最长回文子序列】最长回文子序列 「百度」
原题【最长连续相同字符】一个数组只有a和b,有m次机会能把a换成b或b换成a,变化之后的最长连续相同字符的长度是多少? 「腾讯」
原题【最长递增子序列】手撕最长递增子序列(LeetCode 300):找出数组的最长递增子序列。nums=[1,3,5,4,7],返回[[1,3,4,7],[1,3,5,7]]。要求输出具体的一个最长递增子序列,并考虑优化(如O(n log n)解法)。 「字节跳动、拼多多、百度、百度文心、腾讯、阿里巴巴、阿里通义」
原题本题只需输出一个最长递增子序列。
【环形打家劫舍】Coding:从环中取不相邻的数字,数字和最大。 「字节Seed」
原题【环形路径计数】手撕:一个环有10个点0-9,0开始出发,每步顺时针或逆时针走一个点,求经过n步回到0点有多少种不同走法 「字节跳动」
原题【编辑距离】实现编辑距离算法:给定两个字符串str1和str2,每次可选择插入、删除或替换一个字符,求最少操作次数使得两个字符串相同(LeetCode 72)。 「字节跳动、百度、美团、腾讯、蚂蚁集团、阿里巴巴」
原题【解码方法】一条包含字母A-Z的消息通过'A' -> 1,'B' -> 2,...,'Z' -> 26方式进行了编码,给定一个只包含数字的非空字符串,求解码方法的总数。 「阿里巴巴」
原题本题使用 A=1 至 Z=26 的编码约定。
【零钱兑换】零钱兑换(LeetCode 322):给定不同面额的硬币和一个总金额,计算凑成总金额所需的最少硬币个数。假设每种硬币的数量是无限的。变式:可能要求输出具体组合或处理其他约束。 「字节跳动、百度、腾讯、腾讯混元、蚂蚁集团、阿里巴巴」
原题【零钱兑换II】代码:解决零钱兑换II(LeetCode 518),计算凑成目标金额的硬币组合数,要求区分顺序(组合问题)。 「腾讯、腾讯混元」
原题原文同时标注 LeetCode 518 和“区分顺序”,两种计数约定不一致。
暂无题目