刷题
文章平均质量分 85
li星野
这个作者很懒,什么都没留下…
展开
-
面试问题001
死锁是系统中两个或多个进程在执行过程中,因争夺资源而造成的一种僵局。当每个进程都持有一定的资源并等待其他进程释放它们所需的资源时,如果这些资源都被其他进程占有且不释放,就导致了死锁。互斥条件:一个进程占用了某个资源时,其他进程无法同时占用该资源。请求保持条件:一个线程因为请求资源而阻塞的时候,不会释放自己的资源。不可剥夺条件:资源不能被强制性地从一个进程中剥夺,只能由持有者自愿释放。循环等待条件:多个进程之间形成一个循环等待资源的链,每个进程都在等待下一个进程所占有的资源。原创 2024-09-14 21:45:00 · 1012 阅读 · 0 评论 -
刷题了:513.找树左下角的值|112. 路径总和| 113. 路径总和ii|106.从中序与后序遍历序列构造二叉树|105.从前序与中序遍历序列构造二叉树
注意理解回溯的使用,牢记遍历的顺序和需求。原创 2024-08-01 20:48:40 · 516 阅读 · 0 评论 -
刷题了: 110.平衡二叉树 | 257. 二叉树的所有路径 |404.左叶子之和 | 222.完全二叉树的节点个数
实现情况:平衡二叉树(Balanced Binary Tree)是一种特殊的二叉搜索树(Binary Search Tree, BST),它要求树中任何节点的两个子树的高度最大差别为1求高度使用后序遍历求深度使用前序遍历。原创 2024-07-31 22:58:59 · 920 阅读 · 0 评论 -
刷题了:203.移除链表元素|707.设计链表|206.反转链表
链表理论基础链表不是连续存放的,通过指针连接数据203.移除链表元素理解虚头节点如何使用707.设计链表注意链表结构体如何定义,有哪些常用操作206.反转链表先熟悉双指针操作,查看递归的方式。原创 2024-07-19 22:36:41 · 1115 阅读 · 0 评论 -
刷题了:144.二叉树的前序遍历心|145.二叉树的后序遍历心|94.二叉树的中序遍历己
二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。给定一个二叉树 root ,返回其最大深度。深度:任意一个节点到根节点的距离;高度:根节点到叶子节点的距离;说明:叶子节点是指没有子节点的节点。给定一个二叉树,找出其最小深度。原创 2024-07-29 22:47:48 · 1882 阅读 · 0 评论 -
刷题了:226.翻转二叉树 | 101. 对称二叉树
实现情况:递归是什么什么顺序遍历呢?前序和后续是最直接的后续中序不能直接全部通过,为什么?下一次就是到遍历右孩子,发现这个是前想处理过的!所以现在还是需要处理左孩子。原创 2024-07-30 21:42:27 · 388 阅读 · 0 评论 -
刷题了:150. 逆波兰表达式求值 |239. 滑动窗口最大值 |347.前 K 个高频元素
232.用栈实现队列225. 用队列实现栈-226. 有效的括号和1047. 删除字符串中的所有相邻重复项 和 逆波兰表达式求值 都是使用栈,解决方法类似239. 滑动窗口最大值 :主要需要理解入队列操作,保持队列的数值从大到小排序152. 347.前 K 个高频元素 了解大顶堆、小顶堆、map的使用。原创 2024-07-27 23:04:42 · 1155 阅读 · 0 评论 -
刷题了:232.用栈实现队列| 225. 用队列实现栈 |20. 有效的括号 | 1047. 删除字符串中的所有相邻重复项
实现情况:int peek():得到队列的前端元素。原创 2024-07-26 22:09:18 · 697 阅读 · 0 评论 -
刷题了: 151.翻转字符串里的单词 |卡码网:55.右旋转字符串
实现情况:使用双指针的方法。原创 2024-07-25 22:50:36 · 822 阅读 · 0 评论 -
刷题了:344.反转字符串|541. 反转字符串II|卡码网:54.替换数字
【代码】刷题了:344.反转字符串|541. 反转字符串II|卡码网:54.替换数字。原创 2024-07-24 22:15:31 · 727 阅读 · 0 评论 -
刷题了:454.四数相加II|383. 赎金信 |15. 三数之和 |18. 四数之和
哈希表是根据关键码的值而直接进行访问的数据结构。242.有效的字母异位词 :size可控直接使用数组就可以349. 两个数组的交集 :使用set,直接去重202. 快乐数:注意怎么计算各个为上的数,怎么求和,两数之和 :使用map.需要记录位置454.四数相加II :使用map,要计算求和,也要记录次数赎金信 :和有效的字母异位词解决方法一致三数之和 :使用双指针比较好理解四数之和 :和三数之和使用的方法一样,要主要边界条件。原创 2024-07-23 20:26:50 · 463 阅读 · 0 评论 -
刷题了:242.有效的字母异位词 |349. 两个数组的交集 | 202. 快乐数|1. 两数之和
for(int count:record):使用for-each循环遍历record数组。s.length(): //length:字符串的长度,不包含’/0’哈希表是根据关键码的值而直接进行访问的数据结构。主要是判断是否由相同字母组成,都是小写字母。size范围可控、较小可以使用数组。哈希表(Hash table)需要使用value的使用map。原创 2024-07-22 22:25:09 · 1124 阅读 · 0 评论 -
刷题了: 24. 两两交换链表中的节点| 19.删除链表的倒数第N个节点|面试题 02.07. 链表相交 | 142.环形链表II
链表的种类主要为:单链表,双链表,循环链表链表的存储方式:链表的节点在内存中是分散存储的,通过指针连在一起。链表的基本操作包括建立链表、插入节点、删除节点、查找节点等。这些操作通常通过遍历链表并修改节点的指针域来实现。经典题目:203.移除链表元素:学会使用虚拟头结点707.设计链表:学会链表的基本操作、获取第n个元素、头部插入、尾部插入、第n个节点前插入、删除第n个节点;统一使用虚拟头结点,操作便捷19.删除链表的倒数第N个节点:虚拟头节点+双指针+窗口概念解决。原创 2024-07-20 19:51:15 · 993 阅读 · 0 评论 -
刷题了:977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
数组是存放在连续内存空间上的相同类型数据的集合。数组下标都是从0开始的。数组内存空间的地址是连续的因为数组在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址。数组的元素是不能删的,只能覆盖。暴力解法时间复杂度:O(n)二分法时间复杂度:O(logn)双指针法(快慢指针法):通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。暴力解法时间复杂度:O(n^2)双指针时间复杂度:O(n)滑动窗口暴力解法时间复杂度:O(n^2)原创 2024-07-18 20:57:06 · 1096 阅读 · 0 评论 -
刷题了:数组理论基础,704. 二分查找,27. 移除元素
数组是连续内存空间存放的二分查找是对有序数组,并且要注意数组区间理解双向指针的操作。原创 2024-07-17 22:34:21 · 1326 阅读 · 0 评论