- 博客(57)
- 资源 (1)
- 收藏
- 关注
原创 918. 环形子数组的最大和
prei是固定的所以每次找到最小的prej即可,再将每次最大的值放到res中即可。并且要维护这个队列使其递增,这样每次取头部元素即可,因为长度不超过n,所以i-j小于n的就出队,并且前缀和大于当前前缀和的从尾部出队,这要可以保证递增性,也能保证不丢失可能存在的解。这道题我们用双端队列解决。首先将数组扩展为两倍,用i%n即可成立,然后使用前缀和去求解最大的字串和。
2026-03-12 21:11:41
113
原创 239. 滑动窗口最大值
首先对优先队列进行构造,pair<int,int>这样,优先队列会按照first的大小排序,最大值在树根,再遍历数组,如果当前优先队列中的最大值在i-k的左边,则出队。这道题我们采用优先队列进行求解。
2026-03-12 15:16:31
29
原创 078. 合并 K 个升序链表
本题采用优先队列,首先将各个链表排序,哪个链表的首个元素最小排在最前面,然后将第一个元素加入返回链表中,然后将该链表的后面元素放进优先队列,直到优先队列为空即可。
2026-03-11 11:29:19
256
原创 475. 供暖器
这道题我们可以采用贪心算法,每次找到离这个房屋的最短距离,最后求取最大值即可。首先可以先将heaters排序,这样可以方便使用二分查找,然后创建寻找最小距离的函数,每次传入房子所在的位置,在heaters中使用二分查找,找到离这个点最近的点,若是有则为0,若没有,则比较左边的和右边的哪个离得更近。参数引用要使用引用传递,不然会超内存。
2026-03-08 14:59:43
353
原创 15. 三数之和
这道题采取哈希法有点复杂,这里我们采取双指针的做法,首先对数组进行排序,遍历i,设置left和right指针,left为i右边的第一个元素,right为数组最后一个元素,即为最大值,让三者的元素值相加,若大于0,则right--,小于0,就left++,等于0,则可以加入到返回数组中,注意,当i的值大于0时,三者相加不可能等于0,直接退出。去重操作:当num【i】==num【i-1】时候continue,不选择加一是因为会把000这种可行解排除。
2026-03-08 11:37:55
39
原创 349. 两个数组的交集
这道题我们使用set进行解答,set中的元素天生去重,所以可以先将num1的元素放进set中,这样就没有重复元素了,再遍历num2数组,查找是否再set中存在,若存在,则将该数存入返回数组中,并且在set中删除该元素,这可以保证没有重复的元素。
2026-03-07 21:38:46
143
原创 1. 两数之和
这里我们采用不排序的map即可,循环每次将数值和对应的位置存入map,每次查找是否已经有target-nums【i】的值已经出现。若出现,就返回即可。(一种自平衡二叉搜索树)。当你插入元素时,它会根据键(Key)的大小自动调整位置。这道题我们采用哈希表进行解决,首先介绍一下map的用法。
2026-03-07 21:07:00
243
原创 141. 环形链表
这道题我们采取快慢指针的做法,quickP每次走两步,slowP每次走一步,若是存在环的话,快指针最终一定会追上慢指针,若是不存在环则quickP会成为nullptr;
2026-03-07 13:33:42
33
原创 977. 有序数组的平方
因为数组本来就有序,当没有负数时,右面的数平方总会比左边的数字的平方大,当有负数时,左面的负数比右面的负数平方大。所以用两个指针,一个指向最左,一个指向最右,这是可能会有最大值的地方,循环比较,大的放入数组中即可。
2026-03-05 11:50:40
27
原创 209. 长度最小的子数组
从0处开始遍历right,当满足sum和大于等于target时,记录一下此时的长度,再让left循环加,在大于target情况下,记录长度,知道遍历完。题目中说明数组中nums为正整数,所有只要范围扩大,那么sum和就会一定增大。leedcood 209题解析。
2026-03-04 23:32:53
57
原创 9.8.2网络爬虫基础
题目如下:1.设计get-content函数,url为抓取的数据网址地址,函数返回值是网页文本首先,我们引入requests库和BeautifulSoup库,然后我们用requests库中的get函数获取网址内容并将其转为text格式。要把r.encoding=r.apparent_encoding这样中文也可以识别。代码如下:url="http://www.weather.com.cn/weather/101190801.shtml"import requestsfrom bs4
2022-05-06 20:49:55
2531
9
原创 9.8.1 1.打印head标签的内容。2.打印body标签的内容。3.打印id为Hi的标签对象
原题如下:首先要把文件创建并改文件扩展名1.打印head标签的内容该题较为容易 ,首先我们引入requests库和BeautifulSoup库,然后将文件打开并改为soup模式,进而使用find函数寻找即可。打印时要改为text,打印出来才是内容,第二题与第一题类似,一同求解。import requestsfrom bs4 import BeautifulSoupurl="e://python/files/1.html"h=open(url)t=h.read()soup=Beau
2022-05-06 20:00:32
2152
1
原创 中国矿业大学校园网自动连接脚本
首先确保自己安装了selenium库和对应版本的webdriver,不然无法启动,安装方法自行百度。校园网自动登录目录1.第一步引入我们所需要的库:2.打开我们需要的网页3.等待浏览器相应4.这里我们获取xpath地址5.网页模拟点击6.完整代码1.第一步引入我们所需要的库:time库的引入是防止浏览器打开速度慢引发问题from selenium.webdriver.common.keys import Keysfrom selenium im
2022-04-30 15:50:23
2720
2
原创 9.7科学计算与数据分析基础试题
1.创建一个3行3列的nadrray数组,数组元素为1,2,3,,,9这九个数。编写程序,计算输出其所有的元素的和.每行的均值以及每列的均值这个题我们用课本简单公式创建即可,代码如下:import numpy as npa=np.array([[1,2,3],[4,5,6],[7,8,9]])print("总和",a.sum())print("列均值",a.mean(axis=0))print("行均值",a.mean(axis=1))2.正则化一个5行5列的随机矩阵,并输出。正则的概
2022-04-29 21:48:48
4087
8
原创 中国矿业大学校园网自动连接脚本——python
效果视频校园网自动登录这个需要下载selenium库和安装webdriver网上下载即可如果需要的话可以出一期教程代码如下:from selenium.webdriver.common.keys import Keysfrom selenium import webdriverfrom selenium.webdriver.support.select import Selectimport timedriver = webdriver.Chrome()driver.get
2022-04-27 21:22:10
1797
7
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅