- 博客(6)
- 收藏
- 关注
原创 【思特奇杯·编程之星】初赛
A:门牌制作 count = 0 for i in range(1,2021): count += str(i).count("2") print(count) B:既约分数 def check(a,b): if b == 0 or a == 0: return "Error" else: while a%b != 0: a,b = b,a%b return b def check_more(a,b
2022-01-24 22:06:42
352
原创 【思特奇杯·云上蓝桥-算法集训营】第三周
菲波那切数列 class Solution(object): def fib(self, n): if n<2: return n else: return self.fib(n-1)+self.fib(n-2) 第N个泰波那契数 class Solution(object): def tribonacci(self, n)->int: if n == 0:
2022-01-21 21:06:02
410
原创 【思特奇杯·云上蓝桥-算法集训营】第二周
带分数 def add_grades(n): i = 1 time = 0 while i < n-1: grades = n - i for x in range(1,1000): denominator = x numerator = x * (n - i) ls = [] for j in str(i): ls
2022-01-15 11:24:50
399
原创 堆排序Python实现
关于堆排序的相关知识,在数据结构的排序算法中,堆排序可以说是一个比较难的算法,理解起来有点困难,所以要想掌握堆排序,得先了解一下几个数据结构: 首先,我们要知道完全二叉树,先看图: 完全二叉树:设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数, 第 h 层所有的结点都连续集中在最左边 满二叉树:深度为k且有2^k-1个结点的二叉树称为满二叉树 知道了完全二叉树后,我们来了解堆: 堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总
2022-01-07 22:00:16
1200
原创 【思特奇杯·云上蓝桥-算法集训营】第一周
第一题:跑步训练 s = 10000 v1 = 600 v2 = 300 use = v1 - v2 #表示二分钟消耗的体力 t1 = (s // use) -1 t2 = s - use*t1 #t1分钟后剩下的体力 v3 = v1 // 60 #表示每休息一秒钟消耗的体力 time = t1*2 *60 + t2 // v3 print(time) 第二题:阶乘约数 n = int(input()) res = set() for i in range(1,n+1): fo
2022-01-06 20:32:46
400
原创 归并排序python实现
归并排序(英语:Merge sort,或mergesort),是创建在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 分治法: 分割:递归地把当前序列平均分割成两半。 集成:在保持元素顺序的同时将上一步得到的子序列集成到一起(归并)。 一.方法思想 归并排序(MergeSort)的基本思想是:将待排序文件看成为n个长度为1的有序子文件,把这些子文件两两归并,使得到「n/2」个长度为2的有序子文件;然后再把这「n/2」个有序文件的子文件
2022-01-03 13:57:15
1437
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人