
【LeetCode刷题笔记】
文章平均质量分 81
LeetCode力扣题解思路,代码实现
天喜Studio
6月份城市(哈尔滨)之星TOP2、C/C++领域新星创作者。
展开
-
【LeetCode刷题笔记】LCR.27 回文链表
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!🔥。原创 2024-08-05 22:41:56 · 617 阅读 · 0 评论 -
【LeetCode刷题笔记】LeetCode.739.每日温度
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!🔥。原创 2024-08-04 22:12:12 · 613 阅读 · 0 评论 -
【LeetCode】146.LRU页面置换
LRU 是操作系统中的缓存淘汰策略,还有 FIFO、LFU 等淘汰算法当缓存空间不足时,淘汰掉最近最少使用的数据项Least Recently Used通过使用链表维护一个数据项的访问历史来决定哪些数据项应该被淘汰,当访问一个数据项时,将其移到链表的头部,代表最近使用;当需要淘汰数据项时,将链表的尾部开始删除。原创 2024-08-02 22:00:56 · 1028 阅读 · 0 评论 -
【C++STL】优先级队列priority_queue
priority_queue优先级队列(priority_queue)即堆(heap),内部可以看作是一颗完全二叉树分为大根堆和小根堆,父节点均大于孩子节点是大根堆,父节点均小于孩子节点是小根堆优先级队列能够每次将优先级最大的元素拿出,然后自动调整堆的结构#include //存储int型元素的大顶堆std::priority_queue pq;//存储int型,队列底层vector,大顶堆std::priority_queue原创 2024-08-01 17:30:56 · 402 阅读 · 0 评论 -
【LeetCode刷题笔记】LeetCode.24.两两交换链表中的节点
给你一个链表,**两两交换**其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。原创 2024-07-10 21:12:10 · 566 阅读 · 1 评论 -
【LeetCode刷题笔记】LeetCode.11.盛最多水的容器
LeetCode.11.盛最多水的容器一、题目描述给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。原创 2024-07-09 21:47:50 · 565 阅读 · 0 评论 -
【LeetCode刷题笔记】LeetCode 1365.有多少小于当前数字的数字
目描述给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。以数组形式返回答案原创 2024-04-11 22:01:26 · 1005 阅读 · 0 评论 -
【LeetCode刷题笔记】242.有效的字母异位词
给定两个字符串 *s* 和 *t* ,编写一个函数来判断 *t* 是否是 *s* 的字母异位词。利用哈希表存储两个字符串中各自重复出现的字符次数,然后遍历比较两个字符串重复字符的哈希表,如果出现次数不同返回false注意: 若 *s* 和 *t* 中每个字符出现的次数都相同,则称 *s* 和 *t* 互为字母异位词。原创 2024-02-23 18:07:12 · 553 阅读 · 4 评论 -
【LeetCode刷题笔记】344.反转字符串
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须[原地]修改输入数组、使用 O(1) 的额外空间解决这一问题。二、示例示例 1:输入:s = [“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例 2:输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]输出:[“h”,“a”,“n”,“n”,“a”,“H”]三、题目分析使用双指针的思想,令一个指针指向字符串原创 2024-01-05 20:31:38 · 988 阅读 · 0 评论 -
【LeetCode刷题笔记】155.最小栈
题目链接LeetCode 155.最小栈一、题目描述设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。实现 MinStack 类:MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。int getMin() 获取堆栈中的最小元素。二、示例示例 1:输入:[ “MinStack”,“push”,“push”,“pus原创 2023-12-17 11:00:26 · 1704 阅读 · 1 评论 -
【LeetCode刷题笔记】103. 二叉树的锯齿形层序遍历
给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。锯齿形层序遍历的解法基于普通的层序遍历基础上:二叉树的层序遍历:使用队列将每层节点入队,再根据该层数量(queue.size())控制遍历锯齿形层序遍历就是对层序遍历再多加个约束条件:一层正常遍历,一层将遍历后的结果插入到上个数据前面(反方向遍历实现方法:将数据从队列弹出后,每次添加到结果数组中,添加的位置在前 就实现了从右向左输出)原创 2023-12-02 13:36:13 · 544 阅读 · 0 评论 -
【LeetCode刷题笔记】102. 二叉树的层序遍历
题目描述给你二叉树的根节点root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。要按照每层向下遍历,就需要知道每层节点的数量(用于控制每次输出几个数据再进入下一层)与深度遍历不同的是,在左子树遍历时,需要记住当前层的右子树仍未遍历。难点在于控制左右子树非兄弟节点也按层输出(例如下图中的6、12、15、7需要在同一层输出,而深入9遍历6和12的时候,15和7就不会被遍历到)问题转化为如何保存同层仍未遍历的节点或者说 遍历同层节点时,如何保存同层非兄弟节点的孩子节点如果原创 2023-12-02 09:03:19 · 1158 阅读 · 0 评论 -
【LeetCode刷题笔记】160.相交链表
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的 起始节点。如果两个链表不存在相交节点,返回 null 。图示两个链表在节点 c1 开始相交:题目分析对链表的题目大多可以使用指针迭代进行解决,链表不允许被破坏,使用双指针对链表进行遍历。A和B可以看作为两条链表,先使用p1指针从A链表开始遍历,再使用p2指针从B链表开始遍历,哪个指针先遍历到链表结尾,就代表哪个链表更长。使用长链表的长度减去短链表的长度为这两条链表长度差,再利用长链表指针先出发这个长度差后,短原创 2023-11-29 16:03:02 · 1323 阅读 · 1 评论 -
【LeetCode刷题笔记】动态规划 — 70.爬楼梯
假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?三、题目分析根据题目一次1个或2个台阶,先考虑极端情况:只有一个台阶的情况和只有两个台阶的情况只有一个台阶:1种方法:爬1个台阶只有两个台阶:2种方法:爬两次1个台阶、爬一次2个台阶在两个台阶的问题中,第一种方法包含了只有一个台阶的情况(爬两次1个台阶:即爬了一个台阶,此时只剩下一个台阶,转化为了只有一个台阶的问题)三个台阶时,如果爬1个台阶,还剩2个台阶,转化为了2个台阶的问题原创 2023-09-11 08:50:00 · 251 阅读 · 0 评论