自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 牛客Round_58_E_好好好数组(一道好题)

我从大一下学期开始接触算法,从基础排序到现在,LeetCode、洛谷前前后后刷了六百多道题目,前前后后也打过几场算法比赛,蓝桥杯走到了国赛,也算有一点点成绩。目前准备上大二,在牛客的周赛里碰见了一道很有思维量的题目(如标题),至少对于我这种水平一般的人来说。如果你也跟我一样,那么我觉得你可以看看这道题目,这道题目从暴力解法到优化通过,再到通过数学证明极快通过这道题,每一步都让我醍醐灌顶、茅塞顿开。话不多说,跟着我的思路来吧。

2024-09-01 22:55:58 1101

原创 算法学习日记4---进阶排序1--归并排序

值得注意的是,归并排序的算法时间复杂度是O(n*logn),额外空间复杂度是O(n),额外空间复杂度很好理解,就是利用了一个help数组,help数组的个数和本身乱序的数组的元素个数相等,而时间复杂度为何是O(n*logn),这个涉及到master公式,这里就不做过多解释了,只需要知道确实是比一般排序要快即可。需要注意的是,上述过程完成递归分为两个部分,也就是左部分和右部分,只有当同一层递归的过程中结果都出现的时候,这层递归才能执行下去,如上图红色箭头的顺序,是从后往前的!的本质,也就是说上述过程需要。

2024-01-06 11:44:34 385 1

原创 刷题日记1——leetcode1954(收集足够苹果的最小花园周长)

第一眼看到这道题的时候,我就想到了可以“以小解大”,就是将整个花园分成四等份,每个象限为一份,算出的结果只需要乘以4就可以了,但是随着想法的深入我发现,竟然都已经把他化得这么小了,为什么不直接一条路走到黑,再分成两个三角形呢?结合上述结果,每一个以x为首项的数列的和为sn=n*a1+n(n-1)*d/2,算出来是sn=(3*x*x+3*x)/2,于是每一组数据的和就求完了,但别忘了,刚刚加上去的不属于三角形内的数要减去,也就是减去x/2+x,于是真正的和为Sn=3*x*x/2,下面是代码的实现。

2023-12-24 16:08:54 372

原创 算法学习日记3---基本排序3--选择排序

(计算机实现找最小值的方式很简单,就是打擂台的思想,将arr[0]当成最小值min,若后面的任何一个数小于min,就将那个数赋值给min,完成min的更新后,找到的就是最小值)。找到最小值后,我们将它放在arr[0]的位置,定义一个交换函数swap实现两数的交换,交换arr[0]和当前位置的值。相信大家在日常生活中见到的很多涉及到排序的场景,比如数学题等等,我们通常会按照题目的要求,比如升序排序,我们就会看一遍整个数组,找出最小的那个,把它放在第一个,以此类推,直到数组变得有序,完成排序。

2023-12-23 18:49:28 356 1

原创 算法学习日记2---基本排序2--插入排序

我们把插入的元素用key代替,观察第二个循环的进入条件( j >= 0 && arr[j] > key),j>=0所控制的数组不会越界,稍微想想便知,j如果是负数那下标就没有意义了,arr[j]>key的作用就是判断这个位置是不是应该插入值,条件成立的话,进入循环的主体:arr[j+1]=arr[j],这个主体配合arr[j] > key可以实现找到key该插入的位置,将该位置以后的数值进行后移,注意一定是arr[j+1]=arr[j],如果调换过来会导致数据丢失。下面来介绍我对于插入排序的认知。

2023-12-22 19:37:03 354

原创 算法学习日记1----基本排序1--冒泡排序

类似的操作,我们遍历一整趟数组,可以发现,数组中最大的元素被移到了的最后 面,就像是几块石头,最重的石头沉得最深。第一趟排序后,我们就找到了数组中的最大值,在最后一个位置。于是我们通过循环,每一次都同上操作,于是我们实现的过程就是每一趟找到未排序的数字的最大值,并将其排放到他应该在的位置,也就是符合升序要求的位置,数组的元素有十个,那么我们就要循环9趟,每一趟都能将一个值归位,而每一趟循环,我们都需要将每一个数字进行比较,冒泡排序,将不满足升序要求两个数字进行交换。下面让我们来了解排序的最基本方法!

2023-12-21 19:52:13 372

空空如也

空空如也

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

TA关注的人

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