摘要: 54.螺旋矩阵 阅读全文
posted @ 2026-03-23 08:14 Lin_zx 阅读(11) 评论(0) 推荐(0)
摘要: 一句话记住:找最小值/边界用 left < right(如果等于可能会陷入死循环) 、 right = mid(如果等于mid+1会跳过mid这个数);找确定值用 left <= right 、 right = mid-1 34.在排列数组中查找元素的第一个和最后一个位置 ⚠️题目中的非递减顺序排列 阅读全文
posted @ 2026-03-23 08:14 Lin_zx 阅读(11) 评论(0) 推荐(0)
摘要: 53.最大子数组和 ⚠️ 思路:首先定义sum,maxSum(请注意,不能初定义为0,因为数组里的元素可能为负数),分别表示 当前和 及 历史最大和,遍历数组,去判断 当前数 与 之前的和加当前数的总和 谁大,并赋值给sum,同时更新全局历史最大和(maxSum) 56.合并区间 ⚠️ 思路:首先对 阅读全文
posted @ 2026-03-18 14:21 Lin_zx 阅读(17) 评论(0) 推荐(0)
摘要: 最长连续序列 *⚠️思路:定义一个set集合(可以去重),使用一个增强for循环去遍历set集合,查找每个数的比其小1的数有没有在set里面,没有的话就让这个数称为CurrentNumber,如果这个数加1的数有在set里面,sum++;CurrentNumber++ 阅读全文
posted @ 2026-03-18 09:27 Lin_zx 阅读(8) 评论(0) 推荐(0)
摘要: 哈希表 Map <数据类型,数据类型> 表名 = new HashMap<>() Map <Integer,Integer> map = new HashMap<>() 加入一组数据:map.put( 键,值 ) 通过 Key 查询 Value:get(键),结果是输出值 判断Value是否存在:m 阅读全文
posted @ 2026-03-13 17:02 Lin_zx 阅读(15) 评论(0) 推荐(0)
摘要: 以下几题都是使用到一个:定义fast,slow指针,用快指针遍历数组,slow指针不断缩小范围, 移动零 ⚠️思路: 使用两个指针(初始化值都为0): 慢指针(slow):指向当前已经处理好的序列的尾部 快指针(fast):指向当前正在遍历的元素 算法步骤 快指针遍历整个数组 当快指针指向的元素非 阅读全文
posted @ 2026-03-13 17:01 Lin_zx 阅读(13) 评论(0) 推荐(0)
摘要: 有效的字母异位词 ⚠️思路: 定义一个数组,将字符串s的每个字符的个数存进数组中,再遍历字符串t,把每个字符的个数对数组进行--,最后看数组是不是都为0,不为0则说明不是异位词 字母异位词分组(49) ⚠️思路:定义一个map,对每个String数组里的每一个字符串都先拆成字符,用一个char[]数 阅读全文
posted @ 2026-03-13 17:00 Lin_zx 阅读(13) 评论(0) 推荐(0)
摘要: 死锁的概念 什么是死锁:多个进程互相等待对方手里的资源,谁也不释放,导致大家都无法继续执行。 死锁的四个必要条件 注意:发生死锁时一定有循环等待,但发生循环等待时未必会死锁 什么时候会发生死锁 对不可剥夺的资源不合理分配时,就可能导致死锁 ⚠️预防死锁:破坏四个条件中的一个 ⚠️ 避免死锁: ⚠️死 阅读全文
posted @ 2026-03-10 12:49 Lin_zx 阅读(20) 评论(0) 推荐(0)
摘要: 进程同步:解决的是多个进程按特定顺序执行的问题 进程异步:解决的是多个进程不能同时访问同一资源的问题 对于临界资源(一次只一个进程访问的资源)的访问,需要互斥的进行 进程互斥的硬件实现方法:( TestAndSet 、Swap ) TestAndSet(Ts/Tsl):它是一个原子操作,用于检查并修 阅读全文
posted @ 2026-03-09 16:07 Lin_zx 阅读(39) 评论(0) 推荐(0)
摘要: 调度(高级、中级、低级) 高级调度(作业调度):外存(硬盘)👉内存 中级调度(内存调度):外存👉👈内存 低级调度(进程调度/处理机调度):内存👉👈CPU(处理机) 挂起状态:暂时从内存调到外存的进程状态( 就绪挂起、阻塞挂起 ) 进程调度的时机 进程调度的方式 进程的调度与切换是有代价的, 阅读全文
posted @ 2026-03-08 17:00 Lin_zx 阅读(25) 评论(0) 推荐(0)