自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 问答 (2)
  • 收藏
  • 关注

原创 代码随想录 Day-25

1、递归2、动态规划。

2024-03-27 21:24:31 659

原创 递归和递推的区别

递归就是说从所需的结果出发到不断回溯之前,直到回溯运算到初值,再递推回所需要求的结果。递推就是说从初值出发后一直运算到所需的结果。结合一个经典的例子:斐波那契数列。

2024-03-22 11:43:49 434

原创 代码随想录 Day-24

动态规划,英文:Dynamic Programming,简称DP,所以动态规划中每一个状态一定是由上一个状态推导出来的,,贪心没有状态推导,而是从局部直接选最优的。

2024-03-21 22:52:26 194

原创 代码随想录 Day-23

这里可以看出来是有两个维度考虑,和力扣题目 135.分发糖果(可以看我day-22的文章) 有点类似。因此两个维度一起考虑一定会顾此失彼。Tips:对于插入和删除操作,LinkedList优于ArrayList,因为当元素被添加到LinkedList任意位置的时候,不需要像ArrayList那样重新计算大小或者是更新索引。

2024-03-21 22:41:26 345

原创 Java 中 Arrays的Lambda方法引用

【代码】Java 中 Arrays的Lambda方法引用。

2024-03-21 20:58:56 94

原创 代码随想录 Day-22

不懂的可以用不要*2,用例子(nums = 4,2,3;k = 1)手动模拟一遍,或者debug一下就会明白。

2024-03-21 19:53:54 404

原创 代码随想录 Day-21

应该要考虑特殊的情况,例如:nums={0};或者 nums={1,2};或者 nums={0,1}等特殊情况。由第一个元素为0的时候可以得出结论,应该在覆盖的范围里面更新覆盖范围,这样当。nums={0,2,3}结果才会对。

2024-03-19 21:20:05 300

原创 代码随想录 Day-20

代码随想录里面卡尔就举出一个例子来理解:例如:有一堆钞票,你可以拿走十张,如果想达到最大的金额,怎么拿?(那就是每次都拿走虽大金额的钞票,那不就是达到最大金额。再举一个例子:就是有一堆盒子,你有一个背包体积为n,如何把背包尽可能地装满?如果还每次选最大的盒子,就不行了。这时候用到动态规划。

2024-03-19 19:34:23 167

原创 代码随想录 Day-19

组合问题是选位置不同的数,分割问题是选位置不同的缝插进去,都是找位置,本质是相同的为什么错误呢?因为我的result是一个集合,里面的数据元素是累加的,所以在处理结果的时候会发生添加重复的数据元素。所以解决方法应该是——用队列,每次将数据弹出去。(即使将result设立为全局变量也无动于衷)牛比的大神可以做N皇后与解数独的题,小弟能力不够,到此为止,等我二刷再说

2024-03-19 17:31:29 245

原创 代码随想录 Day-18

(组合是不用强调元素的位置,排列需要强调元素的位置例如:{1, 2} 和 {2, 1} 在组合上,就是一个集合,因为不强调顺序,而要是排列的话,{1, 2} 和 {2, 1} 就是两个集合了。回溯法解决的问题都可以抽象为树形结构。

2024-03-16 23:26:17 349 1

原创 代码随想录 Day-17

迭代法有精力的可以去学习尝试。

2024-03-15 23:03:38 339 1

原创 代码随想录 Day-16

【代码】代码随想录 Day-16。

2024-03-13 20:35:26 333

原创 代码随想录 Day-14

利用辅助队列来实现,底层逻辑如下:首先先把根节点存进队列里面,然后在弹出根节点的时候,将根节点的左、右树存进队列里面,用一个length(队列的大小)来记录每一层需要弹出去的元素,将这些元素存进二维数组里面去,只要队列不为空就一直重复上面的步骤。

2024-03-13 14:52:24 326

原创 代码随想录 Day-13

树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。

2024-03-07 23:43:25 307 1

原创 代码随想录 Day-8

字符串的学习力扣 #28 实现strStr()力扣 #459 重复的子字符串字符串的总结回顾双指针

2024-03-06 23:19:20 387 1

原创 代码随想录 Day-11

当快指针与慢指针相同的时候,可以将快指针的值直接覆盖慢指针的值,然后快指针继续往后走,慢指针后退一个;不相同时候直接往后两个同时往后走。Of Course!用肯定是用快慢指针,不是左右指针。那么快慢指针怎么走呢?先 isEmpty() 然后再 peek()回想一下,类似这样重复的是否也可以用双指针实现?这里注意先判断为不为空先,不然会报错。(栈适合做相邻字符的消除操作)

2024-03-06 23:11:16 339 1

原创 KMP算法基本知识

KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,本身包含了模式串的局部匹配信息。KMP算法的O(m+n)

2024-03-05 15:41:15 303 1

原创 代码随想录 Day-9

可以理解为是一种装数据的容器,数据是先进后出new Stack() (新建一个空栈)push(入栈)pop(将栈顶的元素出栈,并返回,简称出栈)peek(获取栈顶元素)isEmpty(判断栈是否为空)size() (获取的栈的有效元素的个数)

2024-03-05 15:36:55 352 1

原创 代码随想录 Day-7

【代码】代码随想录 Day-7。

2024-01-25 16:50:49 299

原创 代码随想录 Day-6

1、一些哈希法的理论基础:什么是哈希表,哈希碰撞,哈希函数,以及什么时候用哈希法2、数组的大小是受限制的,而且如果元素很少,而哈希值太大会造成内存空间的浪费。set是一个集合,里面放的元素只能是一个key。map是一种的结构,双值。

2024-01-23 23:15:57 321 1

原创 代码随想录 Day-5

【代码】代码随想录 Day-5。

2024-01-20 14:40:05 326

原创 哈希表的理论基础

(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做,存放记录的叫做。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。哈希函数的作用是帮我们把非int的或者转化成int,可以用来做数组的下标。比如我们上面说的将学生的姓名作为或者。

2024-01-19 14:59:33 377 1

原创 代码随想录 Day-4

1、链表的种类:单链表、双链表、环形链表2、链表里的元素是通过指针来连接的链表的基本操作1、链表的操作最好是设计一个虚拟的头节点来操作 ,不然就要另外考虑头节点是否空指针的异常报错的情况2、设计链表的操作,熟练之后就可以不用担心链表的增删改查的问题。

2024-01-18 23:01:01 290 1

原创 代码随想录 Day-3

单链表:节点由两部分组成,一个是数据域,一个是指针域(储存着下一个节点的指针位置),最开始的叫做头节点,最后一个节点指针域放的是null(空指针)。双链表:节点由三部分组成,一个是数据域,两个是指针域(一个储存的是上一个节点的指针位置,另一个储存的是下一个节点的指针位置)循环链表:节点是由两部分组成,一个数据域,一个是指针域。

2024-01-17 22:46:44 281

原创 链表的设计

【代码】链表的设计。

2024-01-17 22:31:10 363

原创 代码随想录 Day-2

1、首先记得数组的下标是从零开始的,小心当做题做着做着把下标当作1开始。2、在循环里面,换句话说,在数组的循环里面,记得坚持一个原则——循环不变量原则3、数组中的元素是没有办法删除的,只能覆盖4、数组中的左右指针、快慢指针、滑动窗口的使用情况。

2024-01-15 00:01:20 322

原创 代码随想录 Day-1

力扣题目#704704. 二分查找 - 力扣(LeetCode)注意最左、右端值的位置,以及何时用 middle-1,何时用 middle。

2024-01-13 22:15:59 329

原创 洛谷中的 P1980 [NOIP2013 普及组] 计数问题

试计算在区间 1到 n 的所有整数中,数字 x(0≤x≤9)共出现了多少次?例如,在 1 到 11 中,即在 1,2,3,4,5,6,7,8,9,10,11中,数字 1出现了 4 次。1、一个数取余判断是否为出现的数字(需要循环)2个整数 n,x,之间用一个空格隔开。1个整数,表示 x 出现的次数。3、做一个循环结合以上的两点。

2023-10-12 01:08:32 23

空空如也

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

TA关注的人

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