自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Leetcode 刷题练习算法day15

本题是要找出二叉搜索树中最小绝对差,我们可以用中序遍历的方式把二叉树中的元素全部插入到容器当中去,根据搜索树的特性可知这个数组是由小到大排序的,这样我们只用for循环不断遍历两个相邻元素的差,然后比较找出其中的最小值。本题也是和上题一样的思路,把二叉搜索树全部插入到数组当中去,然后利用哈希表,来统计数字出现的频率,用Maxmap储存最大的出现频率,再遍历这个数组,找出出现频率最大的元素,把其插入result当中,最后返回结果。给你一个含重复值的二叉搜索树(BST)的根节点。,找出并返回 BST 中的所有。

2025-08-31 18:46:13 265

原创 Leetcode 刷题练习算法day14

给定一个不重复的整数数组nums。可以用下面的算法从numsnums返回 nums构建的最大二叉树。递归调用如下所示:- [3,2,1,6,0,5] 中的最大值是 6 ,左边部分是 [3,2,1] ,右边部分是 [0,5]。- [3,2,1] 中的最大值是 3 ,左边部分是 [] ,右边部分是 [2,1]。- 空数组,无子节点。- [2,1] 中的最大值是 2 ,左边部分是 [] ,右边部分是 [1]。- 空数组,无子节点。- 只有一个元素,所以子节点是一个值为 1 的节点。

2025-08-30 16:26:40 1581

原创 Leetcode 刷题练习算法day13

给定一个二叉树的root,请找出该二叉树的节点的值。假设二叉树中至少有一个节点。17本题想要考察的点就是如何找出二叉树最深层的最左边的元素,单层逻辑就是我们用result整型变量保存这个结果,用maxdepth保存最大深度,再写递归函数,传入其中的元素为根节点、深度,结束条件就是找到叶子节点,找到叶子节点后再进行if条件判断,如果当前深度大于之前所保存的最大深度时,就更新最大深度,以及更换保存的result。

2025-08-29 14:40:24 905

原创 Leetcode 刷题练习算法day12

110.平衡二叉树 (优先掌握递归)110.平衡二叉树 (优先掌握递归)给定一个二叉树,判断它是否是 平衡二叉树truefalseroot = []truez[0, 5000]257. 二叉树的所有路径 (优先掌握递归)给你一个二叉树的根节点root,按,返回所有从根节点到叶子节点的路径。是指没有子节点的节点。root = [1]["1"][1, 100]本题我们用的是递归遍历中前序遍历,为什么我们要用这种遍历方式呢?

2025-08-25 22:11:22 961

原创 Leetcode 刷题练习算法day11

rootroot。

2025-08-20 22:10:38 559

原创 Leetcode 刷题练习算法day10

当遇到符号要调出之前两个元素时,要注意两个数字的前后运算顺序,如果是+或者*,也许前后顺序没啥关系,但是要是遇到 / 和 - 这两个符号就要注意了,我们应该是nums1 - nums2呢,还是nums2 - nums1呢,归根结底还是对逆波兰表达式定义和对栈这种数据结构的理解,逆波兰字符串数字中先进后出的数字(也就是nums2)肯定是被减(除)数,后进先出的呢(nums1)是减(除)数,所以应该是nums2 - nums1才是正确的。的滑动窗口从数组的最左侧移动到数组的最右侧。返回一个表示表达式值的整数。

2025-08-16 22:51:27 904

原创 Leetcode 刷题练习算法day9

首先大家要知道 栈(LIFO)和队列(FIFO)是STL(C++标准库)里面的两个数据结构:栈 stack<int,vector<int>> third,队列queue<int,list<int>>,若SGI STL中其底层实现缺省情况是使用deque默认实现的。还有基本这两种数据结构的成员函数。

2025-08-15 23:22:33 728

原创 Leetcode 刷题练习算法day8

快慢指针,一开始都先指向0,快指针先走,遇到空格就快指针继续往前走,直到快指针走到非空格时,第二个if判断时,如果slow=0,说明是第一个单词,应该说是快指针继续往前走,不进行加空格操作如果不是就先加一个空格,然后用while循环补充该单词。先去除最前面的空格,再判断是不是一个单词,然后再在单词的后面进行加空格操作,最后将原先多余的位置赋值给slow,而slow的位置就是去除之后的字符串的长度。如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。中使用至少一个空格将字符串中的。

2025-08-15 00:39:16 604

原创 Leetcode 刷题练习算法day7

可以是可以,但这起不了题目对我们的锻炼作用,我们要自己去写出这个库函数来,明白底层是怎么样的,这才可以增进我们的技术,达到刷题的目的。这个实现的时间复杂度是 O (n),其中 n 是输入字符串的长度,因为我们只需要遍历一次字符串。给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anumberbnumbercnumber"。,从字符串开头算起,每计数至。

2025-08-14 12:33:32 1020

原创 Leetcode 刷题练习算法day6

对于哈希表,要知道和在哈希表中的作用。哈希函数是把传入的key映射到符号表的索引上。哈希碰撞处理有多个key映射到相同索引上时的情景,处理碰撞的普遍方式是拉链法和线性探测法。在C++中有三种不同哈希数据结构,分别是数组,set,map,每一种数据结构都有不同的特点,应用于不同的环境,我们清楚这些数据结构的特性就是让我们知道什么情况该用什么数据结构,

2025-08-13 15:17:34 2123

原创 Leetcode 刷题练习算法day5

Hash table的定义:根据关键码的值而直接进行访问的数据结构其实数组就是一种哈希表,其中的关键码就是数组索引的下标,然后通过下标直接访问数组元素有三种类型1.数组 2.set 3.map,其作用:一般是用于快速判断一个元素是否出现在集合里。

2025-08-12 12:19:28 855

原创 Leetcode 刷题练习算法day4

先让临时指针保存一下需要变化的结点地址,tmp = cur->next , tmp1 = cur->next->next(操作指针要指向需要交换位置的两个结点的上一结点)然后让操作指针指向虚拟头结点,因为相邻节点要交换,所以操作指针的下一节点,新链表的头节点,即是原来的第二节点, cur->next = cur->next->next,再让原来的第二结点指向原来的头结点,cur->next->next = tmp。我们定义的速度是快指针一次走两个结点,慢指针一次走一个节点,这样两指针之间的。

2025-08-10 13:57:18 944

原创 Leetcode 刷题练习算法day3

链表是一种通过指针串联在一起的线性结构,单链表中的每一个结点由两部分组成一个数据域,一个指针域(用于存放下一个节点的指针),最后一个结点也就是尾结点指向NULL。双链表多一个前置指针,可以向后查询也可以向前查询,还有循环链表等。其存储方式不像数组是连续分布的,而是散乱的分布。链表的长度可以是不固定的,并且可以动态增删, 适合数据量不固定,频繁增删,较少查询的场景。

2025-08-09 09:53:00 926

原创 Leetcode 刷题学习算法day2

给定一个含有n个正整数的数组和一个正整数target找出该数组中满足其总和大于等于target的长度最小的,并返回其长度如果不存在符合条件的子数组,返回0。2子数组[4,3]是该条件下的长度最小的子数组。10关于这题最简单的思路就是暴力解法,用两个for循环遍历,从第一个元素开始不断累加,直至sum大于target,记录此时子序列长度,然后再从第二个元素开始,以次循环往复。

2025-08-08 00:26:42 2005

原创 Leetcode 刷题学习算法day1

数组是在连续空间上存放相同数据类型的集合,其可以通过下标索引来获取对应数据。数组的元素不能删,只能覆盖,其对应分配的内存空间也不能改变。给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果target存在返回下标,否则返回-1。你必须编写一个具有O(log n)时间复杂度的算法。numstarget= 949 出现在nums中并且下标为 4一般条件:数据存储在有序数组中且数据元素不重复。

2025-08-06 23:13:14 747 1

空空如也

空空如也

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

TA关注的人

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