自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营第二十七天打卡

代码如下:暴力解法,贪心算法和动态规划。

2023-10-17 07:36:08 62

原创 代码随想录第二十六天打卡

今天的题都挺难的,需要二刷。

2023-10-16 22:01:21 65

原创 代码随想录算法训练营第二十五天打卡

【代码】代码随想录算法训练营第二十五天打卡。

2023-10-16 04:36:18 65

原创 代码随想录算法训练营第二十四天打卡

【代码】代码随想录算法训练营第二十四天打卡。

2023-10-14 02:45:35 48

原创 代码随想录算法训练营第二十三天打卡

【代码】代码随想录算法训练营第二十三天打卡。

2023-10-12 03:45:03 28

原创 代码随想录算法训练营第二十二天打卡

17.电话号码的字母组合。

2023-10-11 22:53:47 39

原创 代码随想录算法训练营第二十一天打卡

【代码】代码随想录算法训练营第二十一天打卡。

2023-10-11 08:22:05 36 1

原创 代码随想录算法训练营第十九天打卡

【代码】代码随想录算法训练营第十九天打卡。

2023-09-28 03:25:15 440

原创 代码随想录算法训练营第十八天打卡

530.二叉搜索树的最小绝对差。236. 二叉树的最近公共祖先。501.二叉搜索树中的众数。

2023-09-27 04:59:30 404

原创 代码随想录算法训练营第十七天打卡

700.二叉搜索树中的搜索。98.验证二叉搜索树。

2023-09-26 02:21:46 532

原创 代码随想录算法训练营第十六天打卡

106.从中序与后序遍历序列构造二叉树。

2023-09-25 01:26:41 37 1

原创 代码随想录算法训练营第十五天打卡

学习二叉树好几天了,但是递归法还是一看就会一写就废。

2023-09-22 08:34:46 44 1

原创 代码随想录算法训练营第十四天打卡

【代码】代码随想录算法训练营第十四天打卡。

2023-09-21 07:48:50 618

原创 代码随想录算法训练营第十三天打卡

对称二叉树的代码写起来还是有困难,还要继续加油。

2023-09-20 21:32:32 609 1

原创 代码随想录算法训练营第十二天打卡

后序遍历代码如下:(与前序遍历高度相似)中序遍历:(与前面两个不太一样)

2023-09-19 07:23:50 629

原创 代码随想录算法训练营第十一天打卡

【代码】代码随想录算法训练营第十一天打卡。

2023-09-18 07:41:36 75

原创 代码随想录算法训练营第十天打卡

【代码】代码随想录算法训练营第十天打卡。

2023-09-16 03:52:36 636 1

原创 代码随想录算法训练营第九天打卡

栈遵循先进后出原则(FILO)。而队列则是遵循先进先出原则(FIFL)。在C++中,通常用STL标准库中的stack容器实现栈,用queue容器来实现队列。使用两个队列实现栈的功能。

2023-09-15 01:38:08 706

原创 代码随想录算法训练营第八天打卡

【代码】代码随想录算法训练营第八天打卡。

2023-09-14 09:26:26 654 1

原创 代码随想录算法训练营第七天打卡

方法一:使用一个新的字符串来存。方法二:直接在原字符串上修改。方法一:直接使用库函数。

2023-09-13 09:05:30 738

原创 代码随想录算法训练营第六天打卡

本题有两种解法:暴力解法和哈希法。其中,暴力解法则是使用四个for循环,但是这种解法时间复杂度较高,为O(n^4)。哈希法的做法则是先将四个数组进行两两分组,然后的思路和两数之和一样。这道题和异位词的思路一样,都是用数组和哈希法来解决,在这里不多赘述。

2023-09-12 05:16:47 750 1

原创 代码随想录算法训练营第五天打卡

虽然std::set、std::multiset 的底层实现是红黑树,不是哈希表,std::set、std::multiset 使用红黑树来索引和存储,不过给我们的使用方式,还是哈希法的使用方式,即key和value。std::unordered_set底层实现为哈希表,std::set 和std::multiset 的底层实现是红黑树,红黑树是一种平衡二叉搜索树,所以key值是有序的,但key不可以修改,改动key值会导致整棵树的错乱,所以只能删除和增加。这里数组就没啥可说的了,我们来看一下set。

2023-09-11 04:37:58 752

原创 代码随想录算法训练营第四天打卡

首先,快指针和慢指针都指向dummy虚拟头节点,然后将快指针先移动N+1步,然后快指针和慢指针一起移动,直到快指针指向链表的最后,慢指针就正好指向倒数第N个节点的前面那个节点,就可以方便的将其倒数第N个节点删除。关于第一个问题,可以定义两个指针,一个快指针和一个慢指针。这道题的主要思路是先将两个链表的长度求出,然后让长链表先移动,移动到和短链表长度相同的时候,再将两个链表一起移动,直到移动到两个链表相交。这道题我个人认为有一定难度。其中,有两个难点:1.如何知道链表是否相交 2.如何找到链表相交的入口点。

2023-09-09 04:01:57 766

原创 代码随想录算法训练营第三天打卡

如果不定义虚拟头节点的话,链表的第一个元素就需要单独处理,而如果定义虚拟头节点的话,那么整个链表就可以遵循相同的处理规则。什么是链表,链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。所以链表中的节点在内存中不是连续分布的 ,而是散乱分布在内存中的某地址上,分配机制取决于操作系统的内存管理。双链表:每一个节点有两个指针域,一个指向下一个节点,一个指向上一个节点。

2023-09-08 05:43:15 34 1

原创 代码随想录算法训练营第二天打卡

方法一:将数组的负数部分先取绝对值,然后排序。这样子平方后的数组也一定是按照升序的顺序来的。但是,这个方法的实现略显复杂,而且时间复杂度较高,这里演示。与此同时,我自己也想出来了一种解法:先将数组整体排序,然后从大到小累加,判断是否存在最小子数组满足条件。这道题需要分四条边依次遍历并赋值,遵循左闭右开的原则,并且需要处理n为奇数的情况。方法二:Carl的方法,使用两个指针分别指向原数组的头和尾,然后将数组的头和尾依次平方并比较。这道题有两种方法,一种是我自己想的,另外一种是从Carl那儿学到的。

2023-09-07 08:45:30 40 1

原创 代码随想录算法训练营第一天打卡

当fast指针遍历到需要删除的元素时,则避开需要删除的元素,遍历下一个元素,直到遍历完整个数组,并将整个数组中不需要移除的值全部通过slow指针赋值给数组。这就导致了一个优点和一个缺点:优点是当我们需要查找数组中的某个元素时,可以直接通过下标访问,因此查找的时间复杂度较低,为O(1)。无论是使用左闭右闭还是使用左闭右开来写,在更新left和right时,都需要遵循左闭右闭/左闭右开的原则,以免出现不必要的错误。因此,本题中最理想的解法则是找到一个时间复杂度为O(n)的算法。

2023-09-06 08:45:31 1634

空空如也

空空如也

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

TA关注的人

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