![](https://img-blog.csdnimg.cn/20210908083814187.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法全解
算法全解
dying 搁浅
这个作者很懒,什么都没留下…
展开
-
逼迫 ChatGPT 4 承认我的算法就是比你优化后的好的心路历程(大 AI 时代要来了)
大 AI 时代要来了,血肉苦弱机械飞升!原创 2023-03-28 22:27:42 · 194 阅读 · 0 评论 -
【算法自由之路】算法复杂度、对数器、基本排序、异或与位运算技巧
算法复杂度、对数器、基本排序、异或与位运算技巧原创 2022-11-05 22:13:54 · 192 阅读 · 0 评论 -
计算不同子序列个数
计算不同子序列个数给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)题解此问题考虑经典 dp 行列模型,即 s 做 dp 行 t 做 dp 列。那么我们这样定义 dp 数组含义: dp[i][j] 的值为 s[0-i] 等于 t[0-j] 的子序列个数此时对于每个 dp[i][j] 进行讨原创 2021-10-20 21:57:42 · 609 阅读 · 0 评论 -
【困难】矩阵最长递增路径 (递归缓存优化)
矩阵最长递增路径先看题目给定一个二维数组 matrix ,可以从任何位置出发,每一步可以向上、下、左、右四个方向移动,返回最大递增路径长度。例子:matrix = 6 5 4 1 2 3 2 7 1从第二行的 1 出发可形成路径 1 2 3 4 5 6 ,为最长的路径,则答案返回 6.这道题主要考验的就是递归思路,其实还是相对容易想出来的,我们这样定义一个函数 f(i,j) 含义为获取从 i,j 位置出发所能得到的最大递增路径长度。ok 有了这层定义代码就很好出了如下。public c原创 2021-09-30 10:41:33 · 228 阅读 · 0 评论 -
【困难】最佳股票买卖时机
问题给定一个数组 arr 长度为 N,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔 交易。你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。【动态规划思路】首先当 k >= N/2 时本题可同等于你可以完成任意笔交易。此时的思路为抓住所有的增长区间即为所求。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fFT4dFnY-1631929396635)(evernotecid:/原创 2021-09-18 09:43:47 · 77 阅读 · 0 评论 -
【困难】1~N 整数中出现 1 的次数(数位dp)
问题:给你一个数 N 。问 1-N 之间有多少个 1dp 模型二叉树递归套路,树型 dp斐波那契 模型,矩阵dp从左往右的尝试模型(背包问题范围尝试模型行列模型(一个样本做行,一个做列)业务限制模型数位 dp【暴力解法】时间复杂度 O(N * lgN)遍历所有数字,计算每个数字包含 1 的个数累加返回【数位 dp 思路】时间复杂度 O(lgN^2)采用数位 dp 的思路求解。 整体思路为计算每位为 1 的情况由多少种,然后将所有情况相加即为答案。 举例:N = 384361原创 2021-09-15 14:47:48 · 230 阅读 · 0 评论 -
【简单】最大整合子数组问题(概念转换)
题目可整合数组:如果一个数组在排序之后,相邻的两个数的差值的觉得值为 1 ,则认为该数组为可整合数组。如 [1,5,4,2,3] 排序后为 [1,2,3,4,5] 则该数组即符合为可整合数组给定一个整形数组 arr ,返回其中最大可整合子数组长度。如 [9,20,1,5,4,2,3] 最大可整合子数组为 [1,5,4,2,3] 则返回 5暴力求解思路遍历所有子数组,计算排序每个子数组是否符合可整合数组。这个复杂度会很高,遍历所有子数组 O(n^2) ,排序子数组 O(n * log n)时间原创 2021-09-09 21:53:01 · 76 阅读 · 0 评论 -
【中等】拼 M 面值硬币问题(动态规划)
题目现在有 n1 + n2 种面值的硬币,n1 种为普通面值硬币,可以随意取用。n2 种为纪念币,每种最多只能取一个。每种硬币有一个面值,问:凑满 M 面值有多少种取法?对应 Github 开源项目 class common.Question1盲题思路:数据结构:HashMap方法: 循环 + 条件判断以 n2 作为突破口,不取 n2 和,取所有可能的 n2先排序。开题解法:数据结构:数组动态规划 ,两个动规数组 ,不需要排序dp 含义 dp[i][j] 使用 0-i 种的普原创 2021-09-08 08:30:08 · 333 阅读 · 0 评论