![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
春招冲刺
文章平均质量分 69
春招冲刺
不秃头的小黄人
这个作者很懒,什么都没留下…
展开
-
春招冲刺Day6[高频算法题] -- 安排会议室(贪心,区间问题)
区间问题1 .会议室1.1 会议室I1.2 会议室II1 .会议室这两道题来自Leetcode 252 和Leetcode253 ,需要会员才能做!!1.1 会议室I思路很简单,对会议按照开始时间进行排序,如果后一个会议的开始时间小于前一个会议的结束时间,则表示这两个会议冲突,不能都参加 public static boolean scheduleMeetingRoom1(int[][] meetings){ if(meetings == null || meetings.le原创 2021-12-28 16:05:37 · 709 阅读 · 0 评论 -
春招冲刺Day5[高频算法题] --2SUm | 3Sum....N Sum问题
一套模板解决Nsum问题三数之和N数之和管你几和,直接用模板秒杀`三和``四和`声明本文来自Labuladong大佬,本文只是用Java实现了一遍这里贴上Labuladong大佬的原文传送门三数之和三数之和class Solution { public static List<List<Integer>> threeSum(int[] nums) { List<List<Integer>> res = new ArrayLi原创 2021-12-27 21:29:29 · 384 阅读 · 0 评论 -
春招冲刺Day4[高频算法题] --自己动手实现个LRU,要求带泛型
注意::(1)LRU中head,tail是两个dummy节点,在构造方法中都指向了两个节点,这样的好处是统一进行添加和删除操作,而不用针对头,尾节点进行另外的删除操作!!2. PUT操作时,如果是需要更新,那么先把需要更新的节点从双向链表中断开,再移动到头部;如果是新增的,需要考虑是否需要置换,置换时需要把hashMap中的key删除掉import java.util.HashMap;public class LRU<K,V> { private HashMap<K..原创 2021-12-27 14:15:25 · 204 阅读 · 0 评论 -
春招冲刺Day3 [高频算法题] --手写个堆排序吧
堆1.二叉堆2.建堆的两个操作HeapInsert(从下而上)Heapify(从上而下)3.堆排1.二叉堆性质其中需要注意的几点:二叉堆用数组表示后(n为元素数量)根节点索引为 0左孩子索引为 2i + 1右孩子索引为 2i + 2一个有效节点的父节点为 (i - 1) / 2如果 2i + 1 >= n , 则i没有左孩子,也没有右孩子2.建堆的两个操作HeapInsert(从下而上)for (int i = 0; i < arr.length; i++) {原创 2021-12-23 10:32:51 · 583 阅读 · 0 评论 -
春招冲刺Day2 [高频算法题] -- 一网打尽快排
一网打尽快排1.初出茅庐2.小试牛刀荷兰国旗问题3.炉火纯青(快排1.0)4.登峰造极(快排2.0)快速排序作为十大经典排序算法之一,在面试场中屡屡出现,不是要求手写快速排序,就是快速排序的变种,为了方便复习,特此总结快速排序1.初出茅庐给定一个数组arr,和一个数num,请把小于等于num的数放在数组的左边,大于num的数放在数组的右边。要求额外空间复杂度O(1),时间复杂度O(N)2.小试牛刀荷兰国旗问题给定一个数组arr,和一个数num,请把小于num的数放在数组的 左边,等于nu原创 2021-12-21 18:53:53 · 506 阅读 · 0 评论 -
春招冲刺Day1[高频算法题] -- 最大重叠区间的个数
[题目]给定一些区间,请返回这些区间里面最大的重叠数,给定的区间的边界值都是正整数[举例]输入int[][]二维数组[[1,3],[2,6],[3,8],[8,11]]此时返回最大重叠区间数为2[1,3],[2,6]重叠,数目为2[2,6],[3,8]重叠,数目为2返回最大值为2注意: [1,3]和[3,8]不算重叠!!![最优解]利用小顶堆思路是先给区间按照左边界从小到大排序,如果左边界相等,谁先谁后都行!!遍历每一个区间,记当前区间的左边界为curLeft,右边原创 2021-12-17 21:48:13 · 1592 阅读 · 0 评论 -
春招冲刺Day1 [操作系统] --CPU调度(进程调度)
进程调度1.什么是进程调度2.什么时候需要调度??3.常见的调度算法(单处理器,不考虑多核)(1.FCFS(先来先服务)(2.SJF(短作业优先)(3.HRRN(高响应比优先)(4.RR(时间片轮转)(5.最高优先级调度(HPF)(6.多级反馈队列(MFQ)(目前公认较好)1.什么是进程调度2.什么时候需要调度??⾮抢占式的意思就是,当进程正在运⾏时,它就会⼀直运⾏,调度程序必须等待进程执行结束,即使该进程由于IO阻塞住了⽽抢占式调度,顾名思义就是进程正在运⾏的时,可以被打断,使其把 CPU原创 2021-12-15 16:00:24 · 1134 阅读 · 0 评论 -
春招冲刺Day2 [操作系统] --来聊聊死锁呗?
死锁1.死锁的产生2.处理死锁2.1预防死锁2.2 避免死锁3.死锁检测和死锁解除3.1JAVA如何检查死锁面试官:用代码模拟死锁??!!(这里用Synchronized模拟,也可以用ReentrantLock!!)JstackJconsole1.死锁的产生死锁是在一组进程中的每一个进程都占有了资源,并且都在等待其他进程所占有的资源,这样会导致进程无限期等待下去,无法推进产生死锁的4个条件2.处理死锁目前处理死锁的方法主要有以下4种2.1预防死锁所谓预防死锁,就是要破坏产生死锁的4个条件中的原创 2021-12-17 19:51:21 · 1124 阅读 · 0 评论