- 博客(45)
- 收藏
- 关注
原创 算法赛解析
这个锦囊一共包含了n个小写字符 ,可以表示为s = s1s2...sn,牛郎冥思苦想后,决定了选择顺序,记为p = p1p2...pn,并计划从织女的字符锦囊中按顺序分别取出第p1,p2个字符,按顺序组成新的名字。具体来说,对于每个成员1,2,...,n,请你计算出与该成员的距离为2的其他成员的数量(“距离”是指树中两个成员之间直接相连的边的数量)。给定两个长度相等的小写字符串s和t,牛郎需要判断是否可以从s和t中各删除一个字符,使得删除后的s经过重新排列后等于t,若可以则输出YES,否则输出NO。
2024-08-11 17:08:14
605
原创 scrapy框架爬取豆瓣top250电影排行榜完整代码
就是我的期末作业了(我早就考了,成绩还是可以滴),感兴趣的朋友可以看看,多多指教。其实我也知道有更简单的方法,但是,懒癌犯了,不想写。心血来潮写了这么多,就这样吧。关于此篇文章,如果有疑问,欢迎随时交流学习,只要我在线,肯定回。注意:仅供参考,要是用来交作业的话,部分内容得改一下。
2024-07-17 21:27:55
352
原创 python基础知识点(蓝桥杯python科目个人复习计划70)
但是,我不知道为啥,每次我运行这个代码,首先出来的是柱状图,将其关闭后还要过一会儿才会出现词云图,我一直不理解。小明对数位中含有2、0、1、9的数(不包含前导0)很感兴趣,在1到40中这样的数共有28个,它们的和是574。那这篇就这样了,我会在下一篇详细地写出scrapy爬取豆瓣的流程,感兴趣的朋友可以看一看,顺便指出我的错误。我自己的做法是将得到的数据保存为json格式,然后我要画出柱状图和词云图。今天只写一个题,灵感爆发,我想再续写一下爬虫的相关内容。共一行,包含一个整数,表示符合条件的数的和。
2024-07-16 21:38:17
459
原创 python基础知识点(蓝桥杯python科目个人复习计划69)
编写一个程序,建立了一条单向链表,每个节点包含姓名、学号、英语成绩、数学成绩、c++成绩,并通过链表操作平均分最高的学生和平均分最低的学生并且输出。由题意可知,y会在0.5,1.5,2.5,......这些时刻被吃掉,因此,我们可以把60分钟分成120份,这样就方便多了。接下来的n行,每行输入5个数据,分别表示姓名、学号、英语成绩、数学成绩、c++成绩,注意,成绩有可能是小数。一个新出生的x,半分钟之后吃掉一个y,并且此后,每隔一分钟吃掉一个y。ok,今天就3题,别的明天再说,最近先做基础题。
2024-07-16 11:46:24
456
1
原创 爬虫阶段思考
从spiders中获得一个请求(REQUEST),通过引擎传递给调度器,之后再返回给引擎,引擎把url封装好后传递给下载器,下载器将资源下载好后返回一个应答(RESPONSE),之后引擎将该应答发送给spiders,让其进行抓取,返回给引擎,然后解析出实体(Items)交给实体管道进行下一步操作。里面的host,port,user,password,database,这些东西都要自己改。我搞的有点复杂,因为我刚开始不知道有另一种方法,所以我就记录我的方法了。我在帮别人改代码的过程中,发现了很多问题。
2024-06-23 23:47:25
1257
1
原创 爬虫部分知识点(1)
好了,这篇我就只写这么多,并不是我不想多写,而是爬虫本身的成分复杂,我怕误写一些不该写的,爬虫这部分我也只会写几篇。这个代码的内容是:爬取虎牙直播,并获取主播人气排行(一直在变动,所以每个人的结果可能都不一样)ok,这就是我的完整代码。其中的一些操作我就不解释了,如果遇到问题,欢迎随时和我讨论。网络爬虫也叫网络蜘蛛,特指一类自动批量下载网络资源的程序,这是一个比较口语化的概念。接下来我来写一个原生爬虫,不高级,但是可以让大家理解爬虫的原理。网络爬虫的作用有很多,比如数据采集,搜索引擎,模拟操作。
2024-05-15 10:01:50
435
原创 第十五届蓝桥杯python B组省赛
这是我第一次参加蓝桥杯,成绩并不理想,我反思了一下午,我的问题主要是知识点学不透,题目做的太少,而且学习的时候少数时间不专心,但是,我能感觉到我的学习能力并不弱,不过,这恰恰提醒了我,我的学习方法有问题,那这次就这样吧,反正不能放弃学习,明年继续,不能再有学习态度方面的问题了。一共有以下6对格子:(1,2) - (2,1),(2,2)- (3,1),(2,1)- (3,2),(2,1)- (1,2),(3,1)- (2,2),(3,2)- (2,1)随着2024年的钟声回荡,传说中的时空之门再次敞开。
2024-05-10 21:41:50
1710
原创 其他知识点
然后也是同样的道理,不过这次用的是括号里面的值,就可以得到第二幅图了。一条从具有坐标(x,y)的像素p,到具有坐标(s,t)的像素q的通路,是具有坐标(x0,y0),(x1,y1),(x2,y2),...(xn,yn)的不同像素的序列。其中,(x0,y0) = (x,y),(xn,yn) = (s,t),(xi,yi)和(xi-1,yi-1)是邻接的,1 <= i <= n,n是路径的长度。4邻域:像素p(x,y)的4邻域是:(x + 1,y),(x - 1,y),(x,y + 1),(x,y - 1)
2024-04-29 20:47:07
905
原创 python 基础知识点(蓝桥杯python科目个人复习计划54)
这片森林被一种神秘的力量保护着,这种力量由一个特殊的神秘阵列控制,这个阵列由N块石碑组成,每块石碑上都刻有一个神秘的数Ai。具体来说,我们首先设定一个初始的二分查找范围,比如从0到一个很大的数,然后,我们不断地取中间值,检查是否存在大小为x的花束满足打包k朵不同颜色花束的要求。基德需要掌握这个序列的力量,来对抗森林中的邪恶力量,他的朋友小新给了他一个神秘的水晶球,可以用来查询这个阵列的信息。在这个问题中,妮妮学姐希望将她收到的花束打包成尽可能多的花束,每个花束中包含不同颜色的花朵,而且每个花束的数量为k。
2024-02-28 16:30:36
1220
原创 python 基础知识点(蓝桥杯python科目个人复习计划43)
最长上升子序列是指在一个给定的序列中,仅需要保持元素的相对顺序不变,找到一个最长的子序列,使得子序列中的元素按照严格递增的顺序排列。最长公共子序列是指在两个序列中都存在的一个最长的子序列,可以不连续,但是其元素在两个序列中的相对顺序保持不变。
2024-02-17 08:41:37
1515
1
原创 python 基础知识点(蓝桥杯python科目个人复习计划42)
在每一步的选择中,贪心算法总是做出当前看起来最优的选择,而不考虑当前选择之后的结果。其中,1 <= n <= 1000,1 <= si <= 60000,1 <= ai <= 10^6,ei 一定为10000,20000,30000之一。4.最后同学收拾东西离开办公室,需要ei毫秒的时间,一般需要10秒,20秒或30秒,即ei取值为10000,20000或30000。(2)不可回退行:一旦做出了选择,就不会再改变,这意味着贪心算法做出的选择是永久性的,不会考虑后续的情况。
2024-02-16 11:37:29
1111
原创 python 基础知识点(蓝桥杯python科目个人复习计划41)
然后看我写的最后三行,以第四级为基准,记为i,则从第三级到第四级(跨度为1)就是i - 1,从第二级到第四级(跨度为2)就是i - 2,那么从我推的数据来看,1 + 1 + 1 = 1 + 1 + 1,1 + 2 = 1 + 2,1 + 2 = 2 + 1。(2)状态转移方程:对于网格中的每个位置(i,j),可以从左边位置(i - 1,j)或者上方位置(i,j - 1)到达,因此状态转移方程为dp[i][j] = dp[i - 1][j] + dp[i][j - 1]。这通常涉及到问题的规模和限制条件。
2024-02-15 12:07:55
1096
原创 python 基础知识点(蓝桥杯python科目个人复习计划40)
哈哈,我来干回老本行,复习点儿数学类专业学的东西因为电脑上制作费时间,所以我直接用我的《高等代数》和《数值分析》笔记。
2024-02-14 08:48:34
672
原创 python 基础知识点(蓝桥杯python科目个人复习计划39)
我举个例子,有n个 同学排队(从矮到高),首先,先站成一排,不管顺序,先把n个位置占满,此时,将第一个同学看作已经排列正确的,然后,从最后一个开始,两个两个的比较,比你前面高的,你就在后面站着,如果你比前面那个矮,就往前排,一个一个的插进去,但是呢,n - 1个人都排好了,剩着的那个直接去空位上就行,所以,虽然有n个人参与排队,但是,n-1次循环就搞定了,时间复杂度仍然是O(n^2)这就是插入排序的基本原理。简单来说,就是一直找最大的那个数,一直往后排,最小的数字放第一位就行。现在,我来把它编成代码。
2024-02-13 15:42:05
1691
原创 python 基础知识点(蓝桥杯python科目个人复习计划38)
数字王国开学了,它们也和我们人类一样有军训,现在一共有n名学生,每个学生有自己的一个名字ai(数字王国里的名字就是一个整数,注意学生们可能出现重名的情况),此时叛逆教官来看了之后感觉十分别扭,决定将学生重新分队。我理解的剪枝,和《运筹学》里面“分支定界法”的剪枝操作一样,不停按照题目所给条件分割,当所得目标函数的值已偏离最优解时,就将其减去。例:有4名学生(2,3,4,4),最少可以分成(2,3),(4),(4)共三队。因为最近有点忙,还要复习别的东西,所以我写的会慢一点,见谅。可行性剪枝:满足题目条件。
2024-02-12 12:12:01
668
原创 python 基础知识点(蓝桥杯python科目个人复习计划37)
回溯:就是DFS是一种,在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯更强调:此路不通,另寻他路,走过的路需要打标记。回溯法一般在DFS是基础上加上一些剪枝策略。
2024-02-11 10:03:35
671
原创 python 基础知识点(蓝桥杯python科目个人复习计划36)
搜索方法:穷举问题解空间部分(所有情况),从而求出问题的解。深度优先搜索:本质上是暴力枚举深度优先:尽可能一条路走到底,走不了再回退。
2024-02-10 15:34:04
1143
2
原创 python 基础知识点(蓝桥杯python科目个人复习计划35)
python:一种广泛使用的解释型高级和通用的编程语言python极简生产效率高,有很多大型标准库,缺点是速度慢,应用领域很广阔,包括网站开发,自动化脚本,人工智能等。单行注释以开头,多行注释以‘’‘ ’‘’或“”“ ”“”开头代码默认顶格,然后根据缩进表示代码块print():将print中的参数打印到终端。print()用于打印输出,是最常见的一个函数。objects:表示输出一个或者多个对象,输出多个对象需要用sep分隔;
2024-02-09 23:26:00
5408
原创 python 基础知识点(蓝桥杯python科目个人复习计划34)
在他的高中时期,他遇到了一个非常有趣的问题,那就是给定一个长度为n的整数数组nums,判断是否存在四个不同的下标a,b,c,d,使得a < b < c < d,并且nums[d] < nums[c] < nums[a] < nums[b]。Alice和Bob最近正在学习博弈论,为了学以致用,他们找来了一大堆的小饼干 ,并通过博弈的方式来吃掉这些小饼干。第一行,输入两个正整数n(1 <= n <= 10^6),k(1 <= k <= 10^9),分别表示饼干的堆数和每次取出饼干的底数。
2024-02-05 09:16:34
1598
原创 python 基础知识点(蓝桥杯python科目个人复习计划33)
倘若现在处理的一个投票是在t时刻投票给x名字,系统会计算目前以t时刻为最后一秒的连续60秒内该名字的投票数(即若t为2分57秒,该60秒为从1分58秒开始),若得票数达到设定值K,则该名字在这60秒内的得票数永久清零,但是投票信息队列中系统还没有处理到的投票不会清零。如果你站在编号为n的石头上,并向前走,你将会瞬间移动到编号为n + x的石头上,其中x为n的各数位之和。接下来M行,表示投票队列中的数据信息,每行5个整数d,h,m,s,x,分别表示第几天,时,分,秒投的票和投给的编号。
2024-02-04 09:21:50
1456
5
原创 python 基础知识点(蓝桥杯python科目个人复习计划32)
位运算就是对二进制进行操作的运算方式,分为与运算,或运算,异或运算,取反,左移和右移。
2024-02-03 09:59:17
1323
原创 python 基础知识点(蓝桥杯python科目个人复习计划31)
二分法:每次把搜索范围缩小一半,可以在O(log n ) 时间内计算出答案,它的前提条件是单调性,核心就是利用单调性调整二分查找的区间。它的步骤也比较简单。如下:(1)选定候选区间;(2)不断循环,直到满足特定条件;(3)循环中的注意点是:计算中点(mid = (left + right)/2);判断中点是否符合条件,根据其计算结果来调整区间,我自己做完了几个题之后,我总结出来的规律是(以根号2为例):中点的平方大于2,就是调整右区间,否则就是调整左区间。
2024-02-02 09:10:06
680
2
原创 python 基础知识点(蓝桥杯python科目个人复习计划30)
在区间操作时,利用两个下标同时遍历,进行高效操作;双指针利用区间性质可以把O(n^2)时间降低到O(n)。
2024-02-01 13:47:50
637
原创 python 基础知识点(蓝桥杯python科目个人复习计划29)
(1)贪心:把整体问题分解成多个步骤,在每个步骤都选取当前步骤的最优方案,直至所有步骤结束,每个步骤不会影响后续步骤;(2)核心性质:每次采取局部最优,最终结果为全局最优;(3)如果题目满足上述核心性质,则可以采用贪心进行求解。
2024-01-31 09:08:32
1153
原创 python 基础知识点(蓝桥杯python科目个人复习计划28)
对于一个数组a[],差分数组diff[]的定义是:diff[i] = a[i] - a[i-1]....累加可得:diff[1] + diff[2] + diff[3] +...+ diff[i-2] + diff[i-1] + diff[i] = a[i]所以对差分数组做前缀和可以还原为原数组。
2024-01-30 10:16:45
1108
原创 python 基础知识点(蓝桥杯python科目个人复习计划27)
与原问题相似的规模较小的问题题目:写一个函数,求n的阶乘。运行结果:我来解释一下这几行代码的计算过程:输入5后,开始调用函数;5 > 1,则f(5)= 5 * f(4);4 > 1 , 则f(4)= 4 * f(3);3 > 1 , 则f(3)= 3 * f(2);2 > 1 , 则f(2)= 2 * f(1);1 = 1 , 则f(1)= 1;最终结果为:f(5) = 5 * 4 * 3 * 2 * 1 = 120ok,具体计算过程就是这样。
2024-01-29 00:00:25
3112
原创 python 基础知识点(蓝桥杯python科目个人复习计划26)
将其转化为代码得:第一种方式:运行结果:第二种方式:运行结果:例题1:区间次方和题目描述:给定一个长度为n的整数数组a以及m个查询。每个查询包括三个整数l,r,k表示询问l至r之间所有元素的k次方和。请对每个查询输出一个答案,答案对10^9 + 7 取模。输入格式:第一行输入两个整数n和m,其含义如上所述。第二行输入n个整数a[1],a[2],...a[n];接下来m行,每行输入三个整数l,r,k表示一个查询。输出格式:输出m行,每行一个整数,表示查询的答案对10^9 + 7 取模的结果。(k
2024-01-28 01:22:52
1210
原创 python 基础知识点(蓝桥杯python科目个人复习计划25)
(1) 基数:表示奇数数字符号的个数(2) 权:每位表示的数值(3) 按权展开法(这个就是我们高中学过的进制转换,我去word上编辑出来)具体操作如上图所示按权展开法:各位数字与它对应的权相乘,再把积相加,得到的结果就是该数字转换为10进制后的形式。(4)我来举个例子将其转化为代码得:运行结果:有不理解的地方可以提出来但是,我这种做法 不太对,因为有一行代码涉及次方,可能会导致运行超时,所以,我来改进一下。这样就不会出现运行超时的问题了,这里用的是递归思想。
2024-01-27 16:50:47
848
原创 python 基础知识点(蓝桥杯python科目个人复习计划24)
(1)定义:直接按照题目含义模拟即可,一般不涉及算法。(2)注意:读懂题:理清楚题目流程;代码和步骤一一对应:变量名,函数名,函数功能;提取重复的部分,写成对应的函数(子模块);按顺序写,分块调试。
2024-01-26 19:47:36
1070
1
原创 python 基础知识点(蓝桥杯python科目个人复习计划17)
(1) import + 模块名称(2)import + 模块名称 + as + 别名(3)from 模块名称 import 子模块名称(4)from 模块 import *
2024-01-02 00:00:13
1250
1
原创 python 基础知识点(蓝桥杯python科目个人复习计划16)
实例方法方法内部需要访问实例属性,内部可以使用类名. 访问类属性# 类方法方法内部只需要访问类属性# 静态方法方法内部,不需要访问实例属性和类属性# 如果方法内部 即需要访问 实例属性,又需要访问 类属性,应该定义成什么方法?应该定义实例方法,因为,类只有一个,在实例方法内部可以使用类名. 访问类属性。
2024-01-01 00:01:04
1824
原创 python 基础知识点(蓝桥杯python科目个人复习计划12)
第一题:函数名为gcd,输入参数为整数a,b,计算a和b的最大公约数运行结果:第二题:函数名为lcm,输入参数为整数a,b,计算这两个数的最小公倍数。运行结果:第三题:函数名为is_pirme,输入参数为整数x,判断这个数是否为质数运行结果:第四题:编写函数,输入参数为三角形三边长(浮点数) a,b,c,如果边长合法返回面积,否则返回None。
2023-12-22 22:32:14
191
原创 python 基础知识点(蓝桥杯python科目个人复习计划11)
# 变量三要素:变量名,赋值运算符,变量值a = 10的意思是:将10这个值的内存地址指向给变量a当我们写下a = 10这个指令时,计算机执行了以下三步操作:1.在内存里面开辟一个名为a 的名称空间2.在内存里面创建一个整数值103.将整数的内存地址指向变量a作用域也称作用范围,也叫名称空间,按照生效范围来看可以分为全局作用域和局部作用域。1.全局名称空间:创建的储存“变量名与值的关系”的空间叫做全局名称空间。2.局部名称空间:在函数运行中开辟出来的空间叫做局部名称空间。 # 并非仅仅指函数,例如在模块
2023-12-21 19:46:12
269
1
原创 python 基础知识点(蓝桥杯python科目个人复习计划10)
在python 中,有时需要一个函数处理多个数据,这时需要用到多值参数。在参数前面加一个*可以接收元组,加**可以接收字典,一般用*args存放元组参数,**kwargs存放字典参数。
2023-12-17 16:49:13
251
2
原创 python 基础知识点(蓝桥杯python科目个人复习计划9)
如果在开发程序时,需要某块代码多次,但是为了提高编写效率和代码的重用,所有把具有独立 功能的代码块组织为一个小模块,这就是函数。把独立的代码块,放进函数里重复使用减少代码量,结构也比较清晰,保持代码的一致性函数的编写更利于理解,测试代码a = [] # 空列表a.append(1) # 要对对象进行操作a.insert()a.extend()a.pop()(1)函数中遇到 reutrn ,运行结束,后面的代码(包括函数内的)都不会执行。(2)return 会给函数的执行者返回值。
2023-12-16 22:44:38
189
1
原创 python 基础知识点(蓝桥杯python科目个人复习计划8)
(1)在文件顶部添加 import time ,导入 time 模块,就可以使用 time 模块中的所有功能。 需要使用 time+,+对应功能名称即可。 (2)时间戳:使用 time.time(),返回一个浮点数,表示时间戳。 (3)利用时间戳函数,可以计算程序运行时间 (4)time.sleep(x):程序睡眠 x 秒运行条件: time.localtime():返回本地时间,是一个 struct_time 框架,struct_time框架之间不能加减
2023-12-13 23:42:28
213
2
原创 python 基础知识点(蓝桥杯python科目个人复习计划7)
字典和列表一样,也能够存储多个数据,字典是键值对形式。- 字典中的键具备唯一性,而值可重复.- 字典的每个元素由2部分组成,键:值。例如 'name':'班长' ,'name'为键,'班长'为值 - 列表中找某个元素时,是根据下标进行的;字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码 中的'name'、'id'、'sex')。set1 = set() # set()函数:创建一个无序不重复元素集# 注意以下写法为一个空字典set2 = {}s1 = set()
2023-12-12 23:56:26
208
1
原创 python 基础知识点(蓝桥杯python科目个人复习计划6)
相对基本格式化输出采用 ‘%’ 的方法,format()函数功能更强大,该函数把字符串当 成一个模板,通过传入的参数进行格式化,并且使用 ‘{}’ 作为特殊字符代替 ‘%’为了更形象的认识序列,可以将它看做是一家旅店,那么店中的每个房间就如同序列存储数据的一。也就是说,通过房间号(索引)我们。所谓序列,指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可以通过每个值。检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1。
2023-12-11 23:45:53
359
7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人