自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 问答 (1)
  • 收藏
  • 关注

原创 【蓝桥杯】双指针、BFS和图论

2的d-1次方 == (1 << (d-1))当岛屿总数与被淹没数相等时,就可以完全沉没。每次取出队头元素,将拓展的元素放到队尾。

2024-02-03 18:50:41 330

原创 【蓝桥杯】枚举、模拟与排序

(2)由于断号只会出现一个,因此一定会空缺一个数,则当a[i] == a[i - 1] + 2时,a[i] - 1表示断号。观察题目可以知道,区间最大值-区间最小值一定满足 关系 a[j] - a[i] == j - i;前缀和的思路是 先把a[i] 和 c[i]出现的次数去统计,s[i] 表示 前i个数出现的总和。m--和n--是因为借鉴了正常的数组的表示方式,从下标0开始。(1)由于重号只会出现一个,因此当a[i] == a[i - 1]时,a[i]表示重号。将奇数行的数据翻转:w - 1 - y1。

2024-02-01 13:53:01 522

原创 【蓝桥杯】简单DP

即 f(i,j) = Max( f(i-1,j) + w[i][j], f(i,j-1) + w[i][j])DP问题可以看做是状态表示和状态计算的问题,前者是对问题的维数进行描述,后者是对如何一步一步计算状态的描述。而f(i,j) 的集合表示为 从 (1,1) -> f(i,j)的若干种方法中的最大值。首先对于状态表示,可以很容易得知是采用二维,即f(i,j) , i 表示行 j表示列。其中状态的表示又可以拆解为对状态所表示的集合的描述和对集合的属性的描述。如在01背包中,最大价值选法就可以划分为。

2024-01-27 22:59:10 685

原创 【蓝桥杯】二分与前缀和

定义 S0 = 0 , Si = a1 + a2 + ... + ai 可以推出 Si+1 = Si + ai+1 or Si = Si-1 + ai。即 算区间[L,R]的和可以表示为 : SR - SL-1 = aL + aL+1 + ...+ aR。此题二分的关键在于,当我们求出一个最小的满足条件的正方形的边长后,使左边界收缩去找最大值。此题二分的关键在于找到一个最初始的可以满足条件的值,在以此值不断收缩边界即可算出答案。前缀和矩阵的i行j列表示原矩阵i行j列到左上角的所有值的和.

2024-01-25 18:56:58 340

原创 【蓝桥杯】递归与递推

由上图可知,我们求出组合数需要三个量,第一个是保存方案数的ways数组,第二个是当前遍历到哪一个数的开头的层数,第三个数是从哪一个数开始遍历。技巧:n*n的二维求x行y列的数, n * x + y ,如 4 * 4 的盘中, 0行0列的数就是0,1行1列的数是5。字典序:A = 123 B = 121 , 按字典序比较就是先比较1,在比较2,最后比较 3 和 1,可知B < A。也就是说 3 2 1 = 3 1 2 = 1 2 3 = 1 3 2 = 2 1 3 = 2 3 1。递归类型1:指数型枚举。

2024-01-23 20:28:24 356 1

原创 笔记-递归

/ 如果第k个数比第k-1、k-2.。个数小,【则将数第k-1个赋值到第k个数上】while(index > -1 && x < arr[index]){ // 检查第k个数与k-1、k-2。若 m % n = k, 则令 m = n ,n = k 继续求模 直至为0。也就是说求第n项需要知道第 n - 1 和 n - 2 项,第1项和第二项是特殊值。这样的函数 , 执行顺序是 f(10) -> f(9) -> f(8)....// 取得第k-1个数的下标。//对前k-1个数进行排序。

2023-12-18 23:29:04 359

原创 笔记-位运算

关键在于 异或的性质 A ^ A = 0 , A ^ 0 = A。奇数的最低位是1 ,偶数的最低位是0。题1:找出数组中唯一重复的数字。1左移到要确定的位置上。数组:1 2 3 2。

2023-11-25 21:01:25 600

原创 代码随想录day6

/ 先取前两个数组,选择任意两个元素相加放入map中,在取后两个数组的任意两个元素相加,去比对map中有没有对应的值。// 什么时候使用哈希法,当我们需要查询一个元素是否出现过,或者一个元素是否在集合里的时候,就要第一时间想到哈希法。// 需要使用 key value结构来存放,key来存元素,value来存下标,那么使用map正合适。关键点:为什么后两个数组取的时候,取的键是 0 - i - j , 即取相反数。// map : key:a+b value :出现的次数。

2023-11-15 21:02:25 51

原创 代码随想录day5

本题使用了map来储存,通过关系:如果num1的交叉数字多,会被hmp.get(nums[i]) > 0 所限制为最小,如果num2的交叉数字多,会被hmp.put(nums2[i],hmp.get(nums2[i]) - 1);这里利用了set的唯一性,最后用list.stream().mapToInt(x -> x).toArray();的一串函数即可输出数组。这题很简单,也不多说了,关键点就两个,26个字母对应26个下标,字符转下标要减‘a’hashmap的key与value。

2023-11-13 22:13:32 60

原创 代码随想录day4

对于此题,我最开始的想法是先找到最后的节点,从后面开始数,但是这样会很麻烦,看了官解,解法是先让快指针移动n,快指针和慢指针在同时移动,快为null时,慢就可以开始删除了。本期来到了链表环节,该期主要是以链表搭配双指针的题型为主。把头当尾,找的当前节点的下一个,让下一个指向上一个。没啥好说的,思想就是交换两个,移到第三个开始。

2023-11-06 23:05:43 38

原创 代码随想录 day3

该题也是一道典型的滑动窗,不过需要将题目中的两个篮子看做一个窗口,在这个窗口下在做讨论,本题我的思路是使用map搭配滑动窗,扩张右边界的过程就是将每个遇到的水果的次数++【fruits[i],count++】,这样对于同种水果就可以依据类型不停的增加,当map的大小>2(题目规定只能有两个篮子,故同时只能有两个不同的key),我们开始收缩左边界,进入while循环中不断减少左边界对应元素的count,同时增加左边界的值。while(不符合条件)

2023-10-28 22:01:19 42

原创 代码随想录 day2

此题,我的做法是先将字符串转为字符数组,在将可以填入的字符添加到stringbuffer中,最后对stringbuffer进行比较,快指针的作用是选中可以移动的元素,慢指针的作用是删除stringbuffer的元素。此题的要点是要注意到平方的最大值一定要放在数组的最右边,所以需要创建一个新数组来存放数据,但这里的快慢指针的用法有些不同,快指针指向的是最后,然后从两边进行比较。本题的思路是快指针寻找重复项的最后一项,将最后一项的后一项前移到慢指针的后一项,慢指针实质是一个扩容的数组下标。

2023-10-25 22:09:28 40 1

原创 代码随想录 day1

注意,在判断时 采用 mid * mid <= x 会产生溢出,所以使用除法. 在mid <= (x/mid)的区间内,可能会有值也可能没有值(取等时为答案),我们每一次都将该值赋给结果,二分到最后,只会留下相等的值,即为结果。此时 while的条件就变为了 left <= right , 显而易见的原因是right此时的值是一个可以取到的值,是左闭右闭的区间,当小于target的时候,由于同样的原因,left = mid + 1,而right此时由于可以取到的,所以保持mid即可。

2023-10-23 21:42:29 47 1

原创 day_2

定时器频率 = 时钟 / (psc + 1)* (arr + 1) ||| (7200000 / (psc + 1) * (arr + 1))串口的使能在Comectivity中,mode选择asyncronous,如果预选没有选中引脚,这个模式会自动帮助选择空闲的串口引脚。1.使用user label 简化开发, user label 可以在main.h中对配置进行宏定义,即使改变了引脚也不会出错。相关的配置,最上面需要配置PWM模式,下面除了psc和arr还需要使能重装载,下面设置占空比。

2023-07-03 00:16:31 60 1

原创 day_1

根据电机的参数可以算出电机旋转一周会产生多少个脉冲,如图,该电机的减速比为1:9.6即旋转一圈会旋转9.6圈,又一圈会产生11个脉冲 ,又单片机计数时设置为4倍频,所以单片机会接收到9.6*11*4个脉冲,此时我们仅需根据一个单位时间内单片机共收到了几个脉冲即可算出电机旋转了多少圈。5.超声波加舵机避障,通过舵机左右扭转判断前方是否有障碍物,逻辑:前方没有则直行,前方有障碍则尝试右转舵机,否则左转舵机,都不行则后退。电机通过码盘输出A 相和B相,当A相下降沿时,B相为高电平为正向,B相为低电平为方向。

2023-07-02 02:23:22 36 1

原创 今日复习(2)

(6)SpringMvc控制的控制类不区分Get和Post请求,需要接收参数时,只需要添加形参于方法中即可,当传入参数和方法形参名字不同时,需要在方法形参前加入 @RequestParam(“传入参数名”)来绑定。当传入的参数是对象的属性,只需将形参设置为该对象类型,如果该对象内还有对象,传入参数就要写成内部对象.属性,如果形参是数组类型,那么传入参数就是相同名字,不同的内容,形参是集合类型,需要用@RequestParam来绑定。(10)@PathVariable 可以为传入的参数和方法的参数进行绑定。

2023-05-07 00:34:34 40

原创 今日复习(1)

1.使用Axios简化开发,别名函数中的then((result)=> {}),result是返回的数据,我们可以利用这种异步交互使得页面不刷新的局部更新,如,当Axios.get(url).then((result) => {this.arrs = result.data})来使得vue中的data的arrs属性获取到该地址访问回来的数据,从而实现获取数据并显示到我们的页面中的功能。1.只有i++和i--的形式,没有++i和--i,且这种自增只能单独一行,不能与其他语句混合使用。

2023-05-05 01:26:37 41

原创 java基础系列(十四)

这是我对java基础的一些小见解,希望能够帮助想要学习java的朋友一同进步!

2022-10-21 16:29:01 60

原创 java基础系列(十三)

这是我对java基础的一些小见解,希望能够帮助想要学习java的朋友一同进步!

2022-10-08 22:07:07 77

原创 java基础系列(十二)

这是我对java基础的一些小见解,希望能够帮助想要学习java的朋友一同进步!

2022-10-02 22:47:13 105

原创 java基础系列(十一)

这是我对java基础的一些小见解,希望能够帮助想要学习java的朋友一同进步!

2022-09-26 22:17:13 93

原创 java基础系列(十)

这是我对java基础的一些小见解,希望能够帮助想要学习java的朋友一同进步!

2022-09-21 22:44:20 123

原创 java基础系列(九)

这是我对java基础的一些小见解,希望能够帮助想要学习java的朋友一同进步!

2022-09-16 22:42:42 92

原创 java基础系列(八)

这是我对java基础的一些小见解,希望能够帮助想要学习java的朋友一同进步!

2022-09-14 00:09:36 83

原创 java基础系列(七)

这是我对java基础的一些小见解,希望能够帮助想要学习java的朋友一同进步!

2022-09-11 23:08:55 97

原创 java基础系列(六)

这是我对java基础的一些小见解,希望能够帮助想要学习java的朋友一同进步!

2022-09-07 22:21:13 102

原创 java基础系列(五)

这是我对java基础的一些小见解,希望能够帮助想要学习java的朋友一同进步!

2022-09-04 22:13:49 78

原创 java基础系列(四)

这是我对java基础的一些小见解,希望能够帮助想要学习java的朋友一同进步!

2022-09-02 22:11:43 144

原创 java基础系列(三)

这是我对java基础的一些小见解,希望能够帮助想要学习java的朋友一同进步!

2022-08-31 21:15:31 256

原创 java基础系列(二)

这是我对java基础的一些小见解,希望能够帮助想要学习java的朋友一同进步!

2022-08-30 22:09:17 311

原创 java基础系列(一)

这是我对java基础的一些小见解,希望能够帮助想要学习java的朋友一同进步!

2022-08-29 22:45:30 331 1

空空如也

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

TA关注的人

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