
算法
文章平均质量分 73
经典、现代算法,包含练习、理解、实战、项目等....
啥都鼓捣的小yao
这个作者很懒,什么都没留下…
展开
-
Python解决“组成字符串ku的最大次数”问题
题目要求从给定的字符串中最多能组成多少个字符串 “ku”。然后,通过统计字符串中字符 ‘k’ 和 ‘u’ 的个数,可以确定最多能组成的 “ku” 字符串的数量。具体来说,最多能组成的 “ku” 字符串的数量取决于字符 ‘k’ 和 ‘u’ 中数量较少的那个。给定一个字符串 s,该字符串中只包含英文大小写字母。:O(n),其中 n 是字符串的长度。:O(1),因为 Counter 对象最多存储 26 个字符的频率,空间占用是常数级别的。例如,输入 “AUBTMKAxfuu”,从中最多能组成 1 个 “ku”。原创 2025-04-05 23:52:34 · 305 阅读 · 0 评论 -
Python解决“数字插入”问题
题目要求将数字 b 插入到数字 a 的某个位置,以形成一个最大的可能数字。我们可以通过遍历 a 的每一位,尝试将 b 插入到每一个可能的位置,并比较插入后的结果,选择最大的那个。她的任务是将第二个数字 b 插入到第一个数字 a 的某个位置,以形成一个最大的可能数字。:O(n),其中 n 是数字 a 的长度。我们需要遍历 a 的每一位,尝试插入 b,并生成新的数字。输入:a = 76543, b = 4。输入:a = 666, b = 6。输入:a = 44, b = 5。输入:a = 1, b = 0。原创 2025-04-05 23:43:42 · 183 阅读 · 0 评论 -
课程6. 决策树
谓词。原创 2025-03-30 20:00:26 · 930 阅读 · 0 评论 -
Python使用SVC算法解决乳腺癌数据集分类问题——寻找最佳核函数
为了检查问题解决方案的质量,请使用参数“test_size=0.2”和“random_state=42”将样本分成训练和测试,以使用“准确度”来检查。作为答案,请提供最佳内核的字符串名称,不带引号和其他小写的附加字符。这是指您传递给 SVC 参数的名称(即不是“多项式”,而是“poly”)填写下面的代码模板并选择最佳内核,保持其他超参数不变。不要忘记使用“StandardScaler”要尝试的内核:线性、多项式、径向、S 形。您的任务是选择最佳内核,使用。证明rbf是最佳核函数。证明rbf是最佳核函数。原创 2025-03-24 23:19:32 · 425 阅读 · 0 评论 -
Python解决“DNA序列编辑距离”问题
题目要求计算将一个受损DNA序列(dna1)转换成一个未受损序列(dna2)所需的最少编辑步骤。编辑步骤包括增加一个碱基、删除一个碱基或替换一个碱基。小R正在研究DNA序列,他需要一个函数来计算将一个受损DNA序列(dna1)转换成一个未受损序列(dna2)所需的最少编辑步骤。编辑步骤包括:增加一个碱基、删除一个碱基或替换一个碱基。输入:dna1 = “AACCGGTT”,dna2 = “AACCTTGG”输入:dna1 = “GGGG”,dna2 = “TTTT”编辑步骤包括增加、删除或替换一个碱基。原创 2025-03-23 16:11:19 · 862 阅读 · 0 评论 -
Python解决“特定数组的逆序拼接”问题
题目要求构造一个特定数组,该数组的构造规则是:对于每个 i 从 1 到 n,将数字 n 到 i 逆序拼接,直到 i 等于 n 为止。每次循环生成一个逆序序列,序列的长度从 n 到 1 递减,总共需要生成 n+(n−1)+(n−2)+…最终,输出这个拼接后的数组。输出:[5, 4, 3, 2, 1, 5, 4, 3, 2, 5, 4, 3, 5, 4, 5]例如,当n等于3时,拼接后的数组是 [3, 2, 1, 3, 2, 3]。输出:[4, 3, 2, 1, 4, 3, 2, 4, 3, 4]原创 2025-03-18 21:17:21 · 195 阅读 · 0 评论 -
Python解决“永久代币卡回本计划”问题
具体来说,小F需要通过每天登录游戏返还的勾玉来抵消购买卡片的花费。设购买卡片的价格为 a 勾玉,每天返还 b 勾玉,那么需要的天数 d 可以通过公式 d=⌈ba⌉ 来计算。由于直接计算向上取整比较麻烦,我们可以通过 (a+b−1)//b 来实现向上取整的效果。该卡片的价格为 a 勾玉,每天登录游戏可以返还 b 勾玉。功能包里有个math.ceil(a / b):计算 a / b 并向上取整,得到需要的天数。只使用了常数级别的额外空间。输入:a = 10, b = 1。输入:a = 10, b = 2。原创 2025-03-17 22:12:25 · 260 阅读 · 0 评论 -
Python手写机器学习的“线性回归”算法
我们只考虑如何手写实现,不考虑效果好不好,和统计学上的使用方法,主要是培养代码算法实现思想,如果您想学习线性回归知识,请看我博客的专门有写文章。原创 2025-03-16 01:56:03 · 915 阅读 · 0 评论 -
Python实现“经典梯度下降算法”训练逻辑回归模型
"""y_true - 对于对象 x 的真实响应值y_pred - 我们的模型预测的对象 x 属于类别 1 的概率值x - 该对象的特征描述向量期望在输出中得到关于预测 y_pred 值的模型参数的偏导数向量 H。请注意,由于自由系数 a0 的存在,这个梯度的维度应该比 x 的维度大 1。"""# 在特征向量x前添加1,用于计算偏置项的梯度gradient函数用于计算逻辑回归损失函数关于模型参数的梯度。y_true是样本的真实标签(0 或 1),y_pred。原创 2025-03-16 01:36:48 · 762 阅读 · 0 评论 -
Python解决“创意标题匹配”问题
输入:n = 4, template = “ad{xyz}cdc{y}f{x}e”, titles = [“adcdcefdfeffe”, “adcdcefdfeff”, “dcdcefdfeffe”, “adcdcfe”]输入:n = 5, template = “{abc}xyz{def}”, titles = [“xyzdef”, “abcdef”, “abxyzdef”, “xyz”, “abxyz”]输出:“True,False,True,True,True”因此,总的空间复杂度为 O(n)。原创 2025-03-13 03:19:13 · 856 阅读 · 0 评论 -
Python解决“找出整形数组中占比超过一半的数”问题
使用哈希表(Python中的Counter)可以高效地统计每个数字的出现次数,然后遍历哈希表找到出现次数超过数组长度一半的数字。已知在这些数字中,某个数字的出现次数超过了数字总数的一半。:使用Counter对数组中的每个数字进行计数,生成一个哈希表,键为数字,值为该数字在数组中出现的次数。输入:array = [1, 3, 8, 2, 3, 1, 3, 3, 3]输入:array = [9, 9, 9, 9, 8, 9, 8, 8]输入:array = [5, 5, 5, 1, 2, 5, 5]原创 2025-03-04 22:33:18 · 238 阅读 · 0 评论 -
Python解决“比赛配对”问题
题目描述了一个比赛配对的过程,要求计算从 n 支队伍开始,直到决出唯一获胜队伍为止的总配对次数。通过观察可以发现,每次配对后,队伍数会减少一半(偶数情况)或减少一半加一(奇数情况)。最终,队伍数会减少到1,此时不再需要配对。因此,问题的核心在于计算从 n 到 1 的过程中,总共进行了多少次配对。通过数学归纳法可以证明,从 n 支队伍到决出唯一获胜队伍,总共需要进行 n - 1 次配对。小R想知道在比赛中进行的配对次数,直到决出唯一的获胜队伍为止。直接返回 n - 1,不需要额外的计算。原创 2025-02-27 23:28:37 · 240 阅读 · 1 评论 -
Python解决“数字分组求偶数和”问题
题目要求从每个数字组中选择一个数字,使得这些数字组成的数的各位数字之和为偶数。具体来说,我们可以定义两个状态:f[0] 表示当前选择的数字之和为偶数的方案数,f[1] 表示当前选择的数字之和为奇数的方案数。小M面对一组从 1 到 9 的数字,这些数字被分成多个小组,并从每个小组中选择一个数字组成一个新的数。目标是使得这个新数的各位数字之和为偶数。遍历每个数字组的时间复杂度为 O(n),其中 n 是数字组的长度。对于每个数字组,统计奇数和偶数的个数的时间复杂度为 O(m),其中 m 是数字组中数字的位数。原创 2025-02-24 23:39:33 · 609 阅读 · 0 评论 -
Python解决“统计班级中的说谎者”问题
换句话说,如果分数小于等于他的学生数量大于比他分数高的学生数量,则他会说谎。小C发现了一件有趣的事:当且仅当某个学生的成绩小于或等于自己的有更多人时,这个学生会说谎。时间复杂度:排序的时间复杂度为 O(nlogn),二分查找的时间复杂度为 O(logn),因此总的时间复杂度为 O(nlogn)。空间复杂度:排序的空间复杂度为 O(1)(如果使用的是原地排序算法),因此总的空间复杂度为 O(1)。输入:A = [19, 27, 73, 55, 88, 88, 2, 17, 22]原创 2025-02-23 16:19:38 · 414 阅读 · 0 评论 -
Python解决“自助餐厅客流量分析”问题
题目要求计算前i天的客流量平均值,并将其四舍五入为整数。核心信息是每天的客流量数据,需要通过前缀和的方式快速计算前i天的总客流量,然后计算平均值并进行四舍五入。给定餐厅营业的总天数N,以及每天的客流量数据Ri ,你需要输出一个长度为N的序列,其中第i个值表示前i天的平均客流量。她需要计算前ii天的客流量平均值,并将其四舍五入为整数。输入:N = 5 ,R = [1, 2, 3, 4, 10]输入:N = 3 ,R = [5, 10, 15]输出:[1, 2, 2, 3, 4]输出:[5, 8, 10]原创 2025-02-20 02:09:00 · 184 阅读 · 0 评论 -
Python解决“补给站最优花费”问题
在路程中,小U会经过一些补给站,这些补给站分布在不同的天数上,且每个补给站的食物价格各不相同。现在她想知道,如何规划在不同补给站的购买策略,以使她能够花费最少的钱顺利完成这次旅行。输入:m = 6 ,n = 5 ,p = [[0, 1], [1, 5], [2, 2], [3, 4], [5, 1]]输入:m = 5 ,n = 4 ,p = [[0, 2], [1, 3], [2, 1], [3, 2]]输入:m = 4 ,n = 3 ,p = [[0, 3], [2, 2], [3, 1]]原创 2025-02-20 01:37:46 · 496 阅读 · 0 评论 -
Python解决“环状DNA序列的最小表示法”问题
为了实现这一点,我们可以生成所有可能的表示方式,并将它们存储在一个集合中,然后从中找到字典序最小的序列。这种环状结构的特点是可以从任何位置开始读取序列,因此一个长度为 n 的碱基序列可以有 n 种不同的表示方式。科学员的任务是从这些表示中找到字典序最小的序列,即该序列的“最小表示”。生成所有可能的表示方式需要 O(n^2) 的时间复杂度,因为我们需要遍历每个位置并生成一个长度为 n 的序列。存储所有可能的表示方式需要 O(n^2) 的空间复杂度,因为每个位置生成的序列都需要存储。输出:‘AGTCCG’原创 2025-02-18 17:14:11 · 834 阅读 · 0 评论 -
Python解决“反应物浓度”问题
每个操作要么是 ++,表示增加反应物的浓度 1,要么是 --,表示减少反应物的浓度 1。因此,我们可以将问题转化为对操作序列中的每个操作进行遍历,并根据操作的类型来更新反应物的浓度。最终,反应物的浓度就是所有操作对浓度的影响的总和。输入:instructions = [“++”, “++”, “–”, “–”]输入:instructions = [“++”, “–”, “++”]输入:instructions = [“++”, “++”, “–”]++ 表示增加反应物的浓度,每次增加 1。原创 2025-02-18 16:50:51 · 255 阅读 · 0 评论 -
Python解决“数字字符串千分位转化”问题
题目要求将用户输入的不带千分位逗号的数字字符串转换为带千分位逗号的格式,并且保留小数部分。同时,输入的数字字符串前面可能会有无用的 0,这些也需要精简掉。核心信息是处理整数部分和小数部分,分别进行格式化,并在整数部分添加千分位逗号。A在工作时遇到了一个问题,他需要将用户输入的不带千分位逗号的数字字符串转换为带千分位逗号的格式,并且保留小数部分。A还发现,有时候输入的数字字符串前面会有无用的 0,这些也需要精简掉。字符串处理和格式化输出的知识,是一道典型的字符串处理问题。输出:‘987,654,321’原创 2025-02-12 20:34:06 · 286 阅读 · 0 评论 -
Python解决“找单独的数”问题
利用异或运算的特性,即 a⊕a=0 和 a⊕0=a,我们可以通过遍历数组并对所有元素进行异或运算,最终得到的结果就是那个只出现一次的数字。有趣的是,除了一个数字之外,所有的数字都恰好出现了两次。输入:cards = [1, 1, 2, 2, 3, 3, 4, 5, 5]异或运算满足交换律和结合律,即 a⊕b⊕a=(a⊕a)⊕b=0⊕b=b。输入:cards = [0, 1, 0, 1, 2]a⊕0=a:任何数与 0 异或结果为该数本身。a⊕a=0:任何数与自身异或结果为 0。原创 2025-02-12 20:21:40 · 122 阅读 · 0 评论 -
Python解决——“奇妙货币交易”问题
由于这个奇怪的规则,很多X国人都无法快速判断某个物品是否可以用这种方式交易成功,他们常常会请聪明的你来帮助。该国的交易规则也很特别:在一次交易中,双方只能对每种面值的货币使用不超过两次。的交易,且每种面值的货币使用不超过两次。的幂次项,并检查每一步是否满足使用不超过两次的限制。的幂次项且满足条件,则返回 “YES”,否则返回 “NO”。Y是住在一个名为X国的国家,这里的货币非常特殊,面值为。你能帮他们判断一下,是否能按照规则用给定的货币面值。例如,小R想买一件价格为198的物品,货币的基数。原创 2024-12-31 02:02:07 · 599 阅读 · 0 评论 -
Python解决“兔群繁殖之谜”问题
题目描述了一种特殊的兔子繁殖模式,每对成年兔子每个月会生育一对新的小兔子,新生的小兔子需要一个月成长,到第二个月才能开始繁殖。他想知道在第 A 个月末,总共会有多少对兔子。请你帮助编写一个程序,计算在给定的月份 A 时,兔子群体的总对数。通过分析题目给出的规律,可以发现兔子的数量增长符合斐波那契数列的递推关系,即。第 2 个月末有 2 对兔子:原来那 1 对成年兔子,繁殖了 1 对新生的小兔子。第 1 个月末有 1 对兔子:原来那对变成了成年兔子,并开始繁殖。一个长整数,表示第 A 个月末兔子的总对数。原创 2024-12-31 01:50:50 · 755 阅读 · 0 评论 -
Python机器学习——利用Keras和基础神经网络进行手写数字识别(MNIST数据集)
其中:train_images保存用来训练的图像,train_labels是与之对应的标签。test_images和test_labels分别为用来验证的图像和标签,也就是验证集。对于输出 0-9 这10个标签而言,每个标签的地位应该是相等的,并不存在标签数字2大于数字1的情况。因此,在大部分情况下,都需要将标签转换为 one-hot 编码,也就独热编码,这样标签之间便没有任何大小而言。用 keras 中自带的mnist模块,加载数据集load_data进来,分别赋值给四个变量。每一行的向量代表一个标签。原创 2024-09-09 23:24:11 · 1647 阅读 · 2 评论 -
Python大数据分析——DBSCAN聚类模型(密度聚类)
Kmeans聚类存在两个致命缺点,一是聚类效果容易受到异常样本点的影响(因为求的是均值,而异常值对于均值聚类非常容易受到异常点影响);二是该算法无法准确地将非球形样本进行合理的聚类。基于密度的聚类则可以解决非球形簇的问题,“密度”可以理解为样本点的紧密程度,如果在指定的半径领域内,实际样本量超过给定的最小样本量阈值,则认为是密度高的对象,就可以聚成一个簇。原创 2024-08-13 14:49:06 · 1863 阅读 · 1 评论 -
Python大数据分析——Kmeans聚类分析
对于有监督的数据挖掘算法而言,数据集中需要包含标签变量(即因变量y的值)。但在有些场景下,并没有给定的y值,对于这类数据的建模,一般称为无监督的数据挖掘算法,最为典型的当属聚类算法。Kmeans聚类算法利用距离远近的思想将目标数据聚为指定的k个簇,进而使样本呈现簇内差异小,簇间差异大的特征。原创 2024-08-11 16:00:02 · 3141 阅读 · 0 评论 -
Python大数据分析——SVM模型(支持向量机)
超平面的理解:在一维空间中,如需将数据切分为两段,只需要一个点即可;在二维空间中,对于线性可分的样本点,将其切分为两类,只需一条直线即可;在三维空间中,将样本点切分开来,就需要一个平面。原创 2024-08-08 10:33:25 · 2611 阅读 · 1 评论 -
Python大数据分析——朴素贝叶斯模型
请问在给定的信息下,对于高收入的公务员,并且其学历为硕士的男生来说,女孩是否愿意参与他的相亲?被预测为不经过上面的计算可知,当客户的年龄为24岁,并且收入为8500时,放贷的概率是4.8079x10-8,放贷的概率为2.1479x10-6,所以根据argmax P(Ci)P(X I Ci)的原则,最终该金融公司决定给客户放贷。结果所示,当用户的评论中只含有“还行”一词时,计算该评论为正面情绪的概率约为0.015,评论为负面情绪的概率约为0.00073,故根据贝叶斯后验概率最大原则将该评论预判为正面情绪。原创 2024-08-06 11:08:19 · 2362 阅读 · 0 评论 -
Python大数据分析——K近邻模型(KNN)
那么解决方法就是,一种是设置k近邻样本的投票权重,使用KNN算法进行分类或预测时设置的k值比较大,担心模型发生欠拟合的现象,一个简单有效的处理办法就是设置近邻样本的投票权重,如果已知样本距离未知样本比较远,则对应的权重就设置得低一些,否则权重就高一些,通常可以将权重设置为距离的倒数。对于连续型的因变量来说,则是将k个最近的已知样本均值用作未知样本的预测。还有一种方法是,采用多重交叉验证法,该方法是目前比较流行的方案,其核心就是将k取不同的值,然后在每种值下执行m重的交叉验证,最后选出平均误差最小的k值。原创 2024-07-11 21:12:54 · 1201 阅读 · 0 评论 -
Python大数据分析——决策树和随机森林
对于已知的事件A来说,事件D的信息增益就是D的信息熵与A事件下D的条件熵之差,事件A对事件D的影响越大,条件熵H(D|A)就会越小(在事件A的影响下,事件D被划分得越“纯净”),体现在信息增益上就是差值越大,进而说明事件D的信息熵下降得越多。与信息增益类似,还需要考虑自变量对因变量的影响程度,即因变量的基尼指数下降速度的快慢,下降得越快,自变量对因变量的影响就越强。为了克服信息增益指标的缺点,提出了信息增益率的概念,"它的思想很简单,就是在信息增益的基础上进行相应的惩罚。浅色的椭圆表示树的中间节点;原创 2024-07-09 22:36:04 · 1053 阅读 · 0 评论 -
Python大数据分析——Logistic回归模型
x轴叫阈值,图中的两条折线分别代表各分位点下的正例覆盖率和1-负例覆盖率,通过两条曲线很难对模型的好坏做评估,一般会选用最大的KS值作为衡量指标。通常绘制ROC曲线,不仅仅是得到左侧的图形,更重要的是计算折线下的面积,即图中的阴影部分,这个面积称为AUC。其中,α为学习率,也称为参数βj变化的步长,通常步长可以取0.1,0.05,0.01等。所以,性别变量的发生比率为e** β1,表示男性患癌的发生比约为女性患癌发生比的e**β1倍。正例命中率:表示正确预测的正例数在预测正例数中的比例,即D/(C+D),原创 2024-05-11 21:41:26 · 2858 阅读 · 1 评论 -
Python大数据分析——岭回归和LASSO回归模型
因为根据线性回归模型的参数估计公式β=(X’X)-1X’y可知,得到β的前提是矩阵X’X可逆,但在实际应用中,可能会出现自变量个数多于样本量或者自变量间存在多重共线性的情况,即X’X的行列式为0。岭回归模型解决线性回归模型中矩阵X’X不可逆的办法是添加l2正则的惩罚项,但缺陷在于始终保留建模时的所有变量,首先将数据集拆分成k个样本量大体相当的数据组(如图中的第一行),并且每个数据组与其他组都没有重叠的观测;然后从k组数据中挑选k-1组数据用于模型的训练,剩下的一组数据用于模型的测试(如图中的第二行);原创 2024-04-18 03:18:58 · 1742 阅读 · 1 评论 -
Python大数据分析——一元与多元线性回归模型
从返回的结果可知,只有截距项Intercept和研发成本RD Spend对应的p值小于0.05,其余变量都没有通过系数的显著性检验,即在模型中这些变量不是影响利润的重要因素。我们发现,计算出来的F统计量值174.64远远大于F分布的理论值2.50,所以应当拒绝原假设,即认为多元线性回归模型是显著的,也就是说回归模型的偏回归系数都不全为0。对于一元线性回归模型来说,其反映的是单个自变量对因变量的影响,然而实际情况中,影响因变量的自变量往往不止一个,从而需要将一元线性回归模型扩展到多元线性回归模型。原创 2024-04-14 21:33:59 · 1556 阅读 · 0 评论 -
Python字符串处理
Python字符串处理str1="12345678abcdefghi"print(str1) #输出:12345678abcdefghiprint(str1[3]) #输出:4print(str1[2:5]) #输出:345 截取一部分,左闭右开print(str1[:5]) #输出:12345print(str1[2:]) #输出:345678abcdefghiprint(len(str1)) #输出字符串长度: 17str2="***"str3="abc原创 2022-04-06 11:03:23 · 1745 阅读 · 0 评论 -
枚举法(暴力法)
枚举法概念42 点问题题目描述:样例:运行限制:代码:组合型枚举代码:公平抽签题目描述:样例:运行限制:题目解析:代码:排列型枚举代码:座次问题题目描述:样例:运行限制:代码:概念将问题的所有可能成为答案的解一一列举,然后根据问题所给出的条件判断此解是否合适,如果合适就保留,反之则舍弃。42 点问题题目描述:众所周知在扑克牌中,有一个老掉牙的游戏叫做24点,选取4张牌进行加减乘除,看是否能得出24这个答案。现在小蓝同学发明了一个新游戏,他从扑克牌中依次抽出6张牌,注意不是一次抽出,进行计算,看是原创 2022-03-31 17:46:11 · 839 阅读 · 0 评论 -
递推法与递归法
递推法与递归法递推算法递归算法斐波纳契数列 fibonacci 问题题目描述:样例:运行限制:题目解析:代码:数字三角形问题题目描述:样例:运行限制:题目解析:代码:递推算法一个问题的求解需要大量重复计算,在已知的条件和所求问题之间总存在着某种相互联系的关系,在计算时,我们需要找到这种关系,进行计算(递推关系式)。即递推法的关键,就是找到递推关系式,这种处理方式能够将复杂的计算过程,转化为若干步骤的简单重复运送,充分利用计算机运行程序时的时间局部性和空间局部性。递归算法递归算法是一种从自顶向下的算原创 2022-03-30 10:46:49 · 758 阅读 · 0 评论 -
二分法(又称二分查找算法)
二分法二分查找算法讲解分巧克力题目描述:输入描述:输出描述:题目分析:代码:M 次方根题目描述:输入描述:输出描述:题目分析代码:一元三次方程求解代码:二分查找算法讲解枚举查找也就是顺序查找。实现原理就是逐个比较 a[0:n-1] 中的元素,直到找出元素 x 或搜索遍整个数组后确定 x 不在其中,或者说符合要求的元素在不在数组中。最坏的情况下需要比较 N 次,时间复杂度是 O(n) 线性阶。二分查找也就是折半查找。折半查找是将 N 个元素分成大致相同的两部分。选取中间元素与查找的的元素比较,或者与原创 2022-03-30 10:10:17 · 3129 阅读 · 0 评论 -
打表法和模拟法——按照意思去模拟
算式问题题目描述:本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。看这个算式:☆☆☆ + ☆☆☆ = ☆☆☆如果每个五角星代表 1 ~ 9 的不同的数字。这个算式有多少种可能的正确填写方法?173 + 286 = 459295 + 173 = 468173 + 295 = 468183 + 492 = 675以上都是正确的填写法!注意:111+222=333 是错误的填写法!因为每个数字必须是不同的!也就是说:1 ~ 9 中的所有数字,每个必须出现且仅出现一次!原创 2022-03-28 15:40:04 · 472 阅读 · 0 评论 -
思维与模拟——编程的逻辑推理
思维与模拟——编程的逻辑推理分数解析代码星期一代码乘积尾零代码付账问题解析代码平方和代码数列求值代码分数解析首先肯定要通分一下,或者用等比数列求和,这样才能将原式化简。然后通过位运算或者幂次运算计算分子、分母,再除掉二者最大公约数。代码b = 0a = 1for i in range(0,20): b += a a *= 2 print('%d/%d'%(b,a/2))星期一代码法一:利用datetime功能包from datetime import *原创 2022-03-28 13:57:22 · 604 阅读 · 0 评论 -
利用Python解决时间显示的问题
蓝桥杯之时间显示题目描述输入描述输出描述示例解析代码题目描述小蓝要和朋友合作开发一个时间显示的网站。在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 1970年 11 月 11 日 00:00:00 到当前时刻经过的毫秒数。现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。给定一个用整数表示的时间,请将这个时间对应的时分秒输出。输入描述输入一行包含一个整数,表示时间。输出描述输出时分秒表示的当前时间,格式形如 HH:原创 2022-03-16 17:38:16 · 817 阅读 · 0 评论 -
利用Python解决最短路径问题
利用Python解决最短路径问题题意运行限制解题思路代码法一(基于最短路径长度递增):法二(基于图论中的最短路径算法):题意一图由 2021 个结点组成,依次编号 1 至 2021。对于两个不同的结点 a, b,如果 a 和 b 的差的绝对值大于 21,则两个结点之间没有边相连;如果 a 和 b 的差的绝对值小于等于 21,则两个点之间有一条 长度为 a 和 b 的最小公倍数的无向边相连。例如:结点 1 和结点 23 之间没有边相连;结点 3 和结点 24 之间有一条无向边,长度为 24;结点 15原创 2022-03-16 11:26:59 · 3735 阅读 · 0 评论