自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 【Python实战 | 爬取天气信息并数据可视化】

结果展示:20240124_183747IDE:Pycharm第三方库:requests,pandas,pyecharts浏览器:Microsoft Eage爬取页面:天气预报网西安2023全年天气情况:https://lishi.tianqi.com/xian/index.html头文件准备:右键审查元素,找到主要天气信息所在的浏览器标签是在< li >标签里:右键审查元素,找到主要天气信息所在的浏览器标签是在< li >标签里:然后格式化处理并保存起来:看一下此时weathers存储的信息:成

2024-01-24 20:07:25 880

原创 【x的平方根】

可以用两种二分查找法来寻找:1、标准二分查找法 while left

2023-11-05 14:14:20 94

原创 【多数元素】

推论二: 若数组的前 aaa 个数字的 票数和 =0= 0=0 ,则 数组剩余 (n−a)(n-a)(n−a) 个数字的 票数和一定仍 >0>0>0 ,即后 (n−a)(n-a)(n−a) 个数字的 众数仍为 x。此方法时间和空间复杂度分别为 O(N)O(N)O(N) 和 O(1)O(1)O(1) ,为本题的最佳解法。推论一: 若记 众数 的票数为 +1,非众数 的票数为 −1,则一定有所有数字的 票数和 >0。当 n1≠x: 抵消的所有数字中,众数 xxx 的数量最少为 0 个,最多为一半。

2023-11-05 14:03:52 89

原创 【相交链表】

从这个实例中我们可以看出,A链中包含1,B链中也包含1,他们仅仅是值相同而不像一个节点。而从8开始他们就开始是一个节点。:这道题目让求两个链表相交的节点, 利用双指针法O(m+n) 就可以遍历完成这道题目的思想是让 a, b 指针都走一遍 headA, headB 两个链表, a, b 相遇的地方就是两个链表相交的地方.

2023-10-28 14:11:47 81

原创 【css之波浪效果】

css之波浪效果一、 实现效果二、HTML代码三、CSS代码一、 实现效果二、HTML代码类名为wave-bg的div元素作为容器,其中包含类名为wave1,wave2和wave3的div元素。三个div子元素将被设置为波浪三、CSS代码设置类名为wave-bg的div容器元素宽高,等同于body元素。多出来的部分需要隐藏掉(大家可以自己看下没有overflow: hidden时的样子)。当一个近似圆在旋转时,边缘会有波浪的效果。这也是为什么我们要将三个div子元素设置成超大

2023-09-17 18:26:11 1023 3

原创 【赎金信】

首先,我们判断ransomNote的长度是否大于magazine的长度,如果是,则无法构成,返回false。然后,我们遍历magazine,对于每个字符,将其转换为对应的数组索引,将对应的数组元素加1,表示该字符出现了一次。接下来,我们遍历ransomNote,对于每个字符,将其转换为对应的数组索引,将对应的数组元素减1,表示该字符在构建ransomNote时被使用了一次。同时,我们检查数组中对应元素的值,如果小于0,说明magazine中的字符无法满足ransomNote的要求,返回false。

2023-09-17 10:22:19 48 1

原创 【链表逆置】

这样就用递归完成了链表的逆置。

2023-09-17 10:12:18 592 1

原创 【技术分享之重装win11系统】

小编暑期因为误删电脑C盘文件,导致电脑无法正常使用,没办法找人重新装了系统,白白花了好多米,后来小编自己通过网络学习,成功掌握并且实践安装过几次,所以希望看到本篇文章的有缘人能够避坑。

2023-09-10 18:04:34 4782 5

原创 【移除元素】

快指针:寻找新数组的元素 ,新数组就是不含有目标元素的数组;慢指针:指向更新 新数组下标的位置;双指针法(快慢指针法)在数组和链表的操作中是非常常见的,很多考察数组、链表、字符串等操作的面试题,都使用双指针法,更高效。

2023-09-10 16:52:01 40 1

原创 【旋转链表】

这样我们可以知道,新链表的最后一个节点为原链表的第 (n−1)−(k mod n)(n - 1) - (k \bmod n)(n−1)−(kmodn) 个节点(从 000 开始计数)。然后我们找到新链表的最后一个节点(即原链表的第 (n−1)−(k mod n)(n - 1) - (k \bmod n)(n−1)−(kmodn) 个节点),将当前闭合为环的链表断开,即可得到我们所需要的结果。特别地,当链表长度不大于 111,或者 kkk 为 nnn 的倍数时,新链表将与原链表相同,我们无需进行任何处理。

2023-09-07 18:28:39 83

原创 【螺旋矩阵】

完成后到达副对角线位置,因此offset–,而j在填充结束后进行了++操作,因此需要执行j–使其回到最后最后填充列;这里一圈下来,我们要画每四条边,这四条边怎么画,每画一条边都要坚持一致的左闭右开,或者左开右闭的原则,这样这一圈才能按照统一的规则画下来。这里每一种颜色,代表一条边,我们遍历的长度,可以看出每一个拐角处的处理规则,拐角处让给新的一条边来继续画。2、向下填充offset次,每次填充需要先将i+1,否则会覆盖步骤1中最后填充的元素;4、向上填充offset次,和2、3同理,每次赋值前将i-1;

2023-04-22 20:51:35 61 1

原创 【数组之长度最小的子数组】

在暴力解法中,是一个for循环滑动窗口的起始位置,一个for循环为滑动窗口的终止位置,用两个for循环 完成了一个不断搜索区间的过程。这道题目暴力解法当然是 两个for循环,然后不断的寻找符合条件的子序列,时间复杂度很明显是O(n^2)。首先要思考 如果用一个for循环,那么应该表示 滑动窗口的起始位置,还是终止位置。所谓滑动窗口,就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。所以 只用一个for循环,那么这个循环的索引,一定是表示 滑动窗口的终止位置。

2023-04-22 20:35:10 44

原创 【(洛谷)质数筛】

复杂度:2要筛n / 2 次,3要筛n / 3次,所以一共要筛n / 2 + n / 3 + …+ 1 / n)次,后面求和是调和级数,当 n 足够大时,等于lnn + c,c是常数,所以复杂度为 logn * n.复杂度:质数定理:1 - n 中质数的数量是 n / lnn 个,所以埃氏筛法的复杂度为 n * loglog n,很接近线性了。当 i % pj!当 i % pj == 0 时,pj 一定是 i 的最小质因子,因此 pj 一定是 pj * i 的最小质因子。对于每个数,筛掉他的所有倍数。

2023-03-19 20:12:06 229

原创 【数组平方】

原数组所有数平方后,负数可能成为最大值,平方后最大值只可能在两端出现,不可能在中间。原数组一个指针i指向前端,一个j指向末端。排序得到的数值只可能为最大值,所以一个指针p指向新数组末端,从最大值开始赋值。2、双指针法:两个指针分别指向数组的首部和尾部,每次比较两 个指针所指值的大小,将大的逆序放入新数组。所以平方以后的大值肯定出现在两侧,不是左边就是右边(负数的平方为正数)。2.数字的平方:任何整型数平方后都是非负数,所以要考虑负数平方后的位置;1.非递减顺序:数列是递减的,不是单调递减,有重复值;

2023-03-14 03:00:00 154

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除