数学思想与计算机编程
文章平均质量分 77
奇喑
长风破浪会有时,直挂云帆济沧海!
展开
-
统计字典序元音字符串的数目(一题三解)
文章目录前言题目描述回溯算法动态规划数学(盒子放球模型)结语前言突然间发现自己好久没写有关算法题的博客了,今儿来一道很有意思的算法题,它可以使用三种完全不同的思路来处理,话不多说,直接上题。题目描述给你一个整数 n,请返回长度为 n 、仅由元音 (a, e, i, o, u) 组成且按 字典序排列 的字符串数量。字符串 s 按 字典序排列 需要满足:对于所有有效的 i,s[i] 在字母表中的位置总是与 s[i+1] 相同或在 s[i+1] 之前。例如:输入:n=2输出:15解释:仅由元音组原创 2021-06-23 22:19:29 · 963 阅读 · 1 评论 -
一道工作中遇到的回溯算法题
文章目录问题描述解决思路求解组合原题解答结语问题描述2020年有12个月,我们想得到如下格式的所有数据组合集合的结果:[['2020-01'], ..., ['2020-12'],['2020-01','2020-02'],...,['2020-11','2020-12'],...['2020-01',...,'2020-12']]仔细观察上述目标结果,其实最终结果是一个二维数组,外层数组的元素正好是组合和C121C_{12}^1C121+…+C1212C_{12}^{12}C1212的原创 2021-03-16 18:10:48 · 544 阅读 · 0 评论 -
数学之美——用割补法实现数字a出现个数的问题
题目:给定一个整数n,计算所有小于等于n的非负整数中数字a(0<=a<=9)出现的个数示例:输入25178 ,5;输出9717。割补法示例回顾:在平面中给定一个不规则的图形,需求其面积。割:在图形内部通过连对角线或者作垂线等手段将其分割成若干个规则图形的面积来分别进行求积运算。补:通过补充,将原不规则图形放在一个规则的矩形或其它规则图形的内部,然后减去其外部补充图形的面积。解...原创 2019-04-18 18:37:18 · 384 阅读 · 0 评论 -
字符串的四则运算
题目1:字符串相加给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。注:不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。思路:由于在字符串上进行操作,所以不难想到字符串的拼接(append),又由于字符串中的字符是表示ANSI值不能直接将其视为数字进行拼接,所以便想到让其与’0’字符作差后再进行作和和拼接。具体代码如下:public...原创 2019-05-28 11:27:04 · 1629 阅读 · 0 评论 -
初识动态规划
动态规划的英文名为Dynamic Programming,是一种分阶段求解决策问题的数学思想,后来沿用到编程领域。在运筹学中,动态规划的原理也叫最优化原理,其包括如下性质:对于多阶段问题的最优化策略,如果用它的前i步策略产生的情况(加上原有的约束条件)来形成一个前i步问题,那么所给最优策略的前i阶段的策略构成这前i步问题的一个最优策略。在运筹学中用动态规划方法求解多阶段决策问题的一般步骤为:...原创 2019-07-10 17:38:09 · 197 阅读 · 0 评论 -
进阶动规之01背包及其扩展问题
01背包问题:有一个背包,容量为4榜,现有如下物品要求:1.达到的目标为装入的背包的总价值最大,并且重量不超出2.装入的物品不能重复**思路:**使用动态规划的思想来解决此问题,既然是要使用动态规划,那么首当其冲的一点是找到此问题的状态转移方程。此题由于有价值和容量两个变量,所以我们定义一个二维数组dp来记录当前的最优解(即使得满足要求的最大价值)。为了更容易的找到状态转移方程,我们先...原创 2019-08-05 21:49:26 · 629 阅读 · 0 评论