算法
文章平均质量分 53
解决并解释关于算法方面的问题
黑色卷心菜
热爱是进入另一个世界的钥匙
展开
-
质因数分解
对于求解质因数个数问题,第一种思路就是直接遍历从2到n,判断哪些数是质数并且能被n整除,然后就记录下来个数+1,这样的时间复杂度就是nlog2(n);在这种方法中,我们要理解一点,就是任何数都可以表示为若干个质数乘积的话,那么比2,3···这些较小的质数大的整数也能被用比他们小的质数表示,等于再 i自增到一个非质数时,这时的n已经不能再除的尽这个非质数了,所以会自动跳过它,去除以下一个他除的尽的质数为止,直到它被除到1为止,表示他已经被分解尽了。输出一个整数,表示 n 的质数约数个数。原创 2023-11-28 14:44:26 · 512 阅读 · 0 评论 -
蓝桥杯真题:Excel地址
整体思路:可以把这个题目看成是一个26进制的转换,再将数字转成26个大写字母字符拼接起来就好了,26个大写字母就能表示从0到25这26个数,所以在取余的时候就是mod26,再去将确认的位置除去,计算写一个位置,直到整个数等于0。当然 Excel 的最大列号是有限度的,所以转换起来不难。本题目即是要求对输入的数字, 输出其对应的 Excel 地址表示方式。Excel 单元格的地址表示很有趣,它使用字母来表示列号。输入一个整数n,其范围是[1,2147483647]输出n对应的Excel地址表示方式。原创 2023-11-20 11:12:33 · 445 阅读 · 1 评论 -
蓝桥杯:跳格子
但在这里我用的是动态规划解决的,我们需要使用逆向思维,找到由0点出发的下一个点最大值,但由于他随时可以停下,所以我们可以反过来,上一个状态值到0点的最大值,这样我们就需要将整个路径反过来遍历,状态表达式为:dp[i] = max(dp[i],dp[i-j] + lst[i]),然后最后找到到达n-1点的最大值,就是要找的结果。然而,小蓝在跳格子的过程中有一些限制:他每次只能选择向前跳动 X 格或者 Y 格,或者 Z 格。输出一个整数,表示通过巧妙选择跳动的格子,小蓝最后最多可以获得的分数。原创 2024-01-06 20:16:25 · 504 阅读 · 1 评论 -
蓝桥,算法:矩阵乘法
主要的思路就是在要掌握矩阵的乘积该如何计算,两个矩阵的乘积:第一个矩阵的第i行与第二个矩阵的第j列对应相乘相加得到的结果作为结果的第i,j上的值,然后就是递归调用fun方法求解矩阵的乘积了,但有一个特殊情况就是,矩阵的0次幂的结果为1矩阵,即主对角线上的值全为1,其他全为0的矩阵。第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数。输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值。原创 2024-01-15 21:10:49 · 631 阅读 · 0 评论 -
蓝桥杯:排列问题
然后,我们就可以转换一种思维,对于通过排序后相同的不同的子序列(排列),它在原序列中存在的种类数仅有子序列中包含的每个元素的个数决定,比如说对于原序列为[1,2,1,3,4],它的一个子序列为[1,2],还有一个子序列为[2,1],这两个子序列通过排序后均可以变成[1,2]的序列,那我们就可以把他们看成是同一个序列的两个不同形式,他分别是通过原序列删除1(第三个1),3,4和删除1(第一个1),3,4得到,它的形式种类个数为2*1(1的个数乘以2的个数)。python解题代码。原创 2023-12-04 17:59:32 · 416 阅读 · 0 评论 -
回文字符串 完美的代价
那么在思考,在进行这一步变换的最终结果中,实际上是可以看成将符合条件的字符移到了需要变换的left或者right的位置,就可以使用动态数组快速的变换过来,那么在这个变化过程中交换的次数实践上就是初始点的位置到目标点的距离,在进行累加即可得到最终的结果。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。这个题目文档是将字符串变成回文子串的最少交换次数,这是一个贪心问题,我们需要思考,怎么样才能保证他得到的交换次数是最小的,那么就是不能有浪费的交换次数。原创 2024-01-01 22:48:56 · 945 阅读 · 0 评论 -
蓝桥杯:虚拟迷宫的彩色寻路
先分析题目意思,对于一个N*M的迷宫,可以在它的上面用红色或绿色填满每一个方格,要我们找出对于不同的填涂方式得到的不同迷宫,找出从走上角的方格位置走到右下角的方格的不同路径数的和,并且要满足路径上的两种颜色的方格数量要是相等的。看不懂上面方法的也可以使用下面这个方法确定路径数:由于在一个点的位置,它下一步只能向右或向下移动,那么可以理解为经过一个点的路径数他只能由在他左边的点的路径数和在他上面的点的路径数之和来确定,因此可以得到下面这个图,方格内的数字表示经过它的路径数。,形成一片五彩斑斓的迷宫。原创 2023-12-08 17:53:22 · 385 阅读 · 0 评论 -
蓝桥杯真题:赢球票
我们从1号卡开始数,就把 1号卡拿走,再从 2号卡开始,但数的数字无法与卡片对上,很快数字越来越大,不可能再拿走卡片了。如果我们开始就傻傻地从2或3 号卡片数起,那就一张卡片都拿不到了如果运气好,卡片排列是 2 1 3,那我们可以顺利拿到所有的卡片!核心思想:直接搜索,由于数据不算大,搜索的话也不会超时,在搜索同时记录下数到的第几个数m,并在得到新的卡牌后将m重置,并判断数组中剩余数,搜索完一条路径后和记录的最大值进行比较。如果数到的数字刚好和卡片上的数字相同,则把该卡片收入囊中,从下一个卡片重新数数。原创 2023-11-20 12:41:51 · 341 阅读 · 0 评论