随笔分类 -  刷题记录

对于刷过的算法题进行记录
摘要:动态规划问题(十三)是否能够划分为总和相等的子集 问题描述 ​ 给你一个数组,你的任务是检测是否能过够将这个数组分成两个总和相等的子集。 ​ 例如,对于数组 {1, 5, 11, 5},它能过够分为两个子数组 {1, 5, 1} 和 {11}。对于{1, 5, 3}数组则不能分为两个总和相等的子数组 阅读全文
posted @ 2021-08-20 13:36 FatalFlower 阅读(158) 评论(0) 推荐(0)
摘要:问题描述 ​ 给你一个字符串,现在你需要将它进行分割,使得每个子串都是回文,求最少需要分割的次数。 ​ 例如,对于字符串 “abaedaba”,至少需要进行三次切分,将它切分为 {"aba", "e", "d", "aba"} 才能使得每个子串都是回文。 解决思路 ​ 首先,先尝试将问题的规模进行分 阅读全文
posted @ 2021-08-20 10:38 FatalFlower 阅读(655) 评论(0) 推荐(0)
摘要:问题描述 ​ 假设你现在手上有 n 个鸡蛋,现在有一座 k 层的楼。现在,这座楼层中可能存在这么一个临界楼层,从该层楼层以及下面的楼层扔下去的鸡蛋不会破,而只要从高于该楼层丢下的鸡蛋都会破。现在,你需要做的是计算至少要丢多少次鸡蛋你才能确定这个楼层。(当丢鸡蛋时丢下的鸡蛋没有破的话可以继续使用,但是 阅读全文
posted @ 2021-08-18 14:55 FatalFlower 阅读(455) 评论(0) 推荐(0)
摘要:问题描述 ​ 在一堆物品中,由相应的价值和重量,现在你有一个有容量限制的背包,每个物品你只能选择拿或者不拿。现在要求计算能够得到的最大物品的总价值。 ​ 例如,对于一堆物品,它的价值为 {60, 100, 120},重量为 {10, 20, 30},你现在的背包容量为 50,因此你最大可以拿到的物品 阅读全文
posted @ 2021-08-18 13:15 FatalFlower 阅读(102) 评论(0) 推荐(0)
摘要:动态规划问题(九)二项式系数计算 问题描述 ​ 给定两个正整数 n 和 r,求出它们二项式系数 $\dbinom{n}{r}$​ 的结果。 解决思路 ​ 这个就是直接的公式套用就行,对于一般的 \(\dbinom{n}{k}\) (n > k,k > 0) 都有 $\dbinom{n}{k}=\db 阅读全文
posted @ 2021-08-18 10:09 FatalFlower 阅读(815) 评论(0) 推荐(1)
摘要:问题描述 ​ 给你一个数组,第一个元素为第一个矩阵的行数,末尾元素为最后一个矩阵的列数,中间元素为前一个矩阵的列数和后一个举证的行数。现在要将这些矩阵相乘,要求你求出最少需要做多少次乘法才能得到结果。(矩阵的乘法满足结合律)。 ​ 例如,对于输入的一个数组 {40, 20, 30, 10, 30}, 阅读全文
posted @ 2021-08-17 11:47 FatalFlower 阅读(693) 评论(0) 推荐(0)
摘要:问题描述 ​ 给你两个字符串 S1 和 S2,现要求将 S1 通过有限的操作次数得到 S2,可以执行的操作有以下三种:插入、删除、替换。求最少需要的操作次数。 ​ 例如:对于输入的字符串 S1 ”sunday“ 和 S2 ”saturday“,你至少需要操作三次才能将 S1 转变为 S2(将 n 替 阅读全文
posted @ 2021-08-16 10:58 FatalFlower 阅读(126) 评论(0) 推荐(0)
摘要:问题描述 ​ 给你两个字符串,要求得到这两个字符串的最长公共子序列长度。 ​ 比如:对于输入的字符串 S1 "AGGTAB" 和 S2 "GXTXAYB",它们的最长公共子序列长度为 4,为 {'G', 'T', 'A', 'B'} 解决思路 ​ 该问题刚开始见到时没有思路,但是把问题细分一下找到规 阅读全文
posted @ 2021-08-15 21:33 FatalFlower 阅读(57) 评论(0) 推荐(0)
摘要:问题描述 ​ 给你一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。 ​ 例如:对于整数 13,所有包含 1 的非负整数为 13、12、11、10、1 这些数里面数字 1 总共出现了 6 次,因此得到的结果为 6. 解决思路 ​ 按照分位数计算 1 出现的次数即可。比如说,对于 阅读全文
posted @ 2021-08-13 15:57 FatalFlower 阅读(288) 评论(0) 推荐(0)
摘要:问题描述 ​ 以一个乱序的数组,求它的最长双音序列长度。双音序列指该序列先递增,再递减。 ​ 如: 对于序列 {1, 11, 2, 10, 4, 5, 2, 1},它的最长双音序列长度为 6,{1, 2, 10, 4, 2, 1} 对于序列 {12, 11, 40, 5, 3, 1},它的最长双音序 阅读全文
posted @ 2021-08-13 15:17 FatalFlower 阅读(133) 评论(0) 推荐(0)
摘要:问题描述 ​ 有一个数组,它内部的顺序是乱序的,现在要求你找出该数组中的最长的递增子序列长度。 ​ 例如:对于数组 {10, 20, 9, 33, 21, 50, 41, 60, 80},它的最长递增子序列为{10, 22, 33, 50, 60, 80},长度为 4 解决思路 DP 方案: 令 \ 阅读全文
posted @ 2021-08-12 20:51 FatalFlower 阅读(104) 评论(0) 推荐(0)
摘要:问题描述 ​ 有一段字符串,现在要求得到该字符串子序列中最长的回文字符序列的长度。这里的回文并不要求字符是连续的,只要字符是按照顺序出现的即可。 ​ 如:对于字符串 "GEEKSFORGEEKS",最长的回文序列长度为 5,可能的序列有:”EEKEE“、”EESEE“ 等。 解决思路 首先这种问题的 阅读全文
posted @ 2021-08-12 15:11 FatalFlower 阅读(99) 评论(0) 推荐(0)
摘要:问题描述 ​ 给你一段长为 L 的木棒,现在有三种切分长度 p、q、r,你只能将这根木棒切成在这三种长度内的组合,求这根木棒最大能够切成多少段。 ​ 比如说:现在一根长为 11 的木棒,可以切分的长度为 2、3、5,因此该木棒最多能够被切成 5 段,分别是:{2、2、2、2、3} 解决思路 ​ 由于 阅读全文
posted @ 2021-08-12 14:06 FatalFlower 阅读(359) 评论(0) 推荐(0)