02 2022 档案
摘要:区间合并: 代码实现 public int[][] merge(int[][] intervals) { // 特殊情况处理 if (intervals == null || intervals.length <= 1) { return intervals; } Arrays.sort(inter
阅读全文
摘要:1、什么是sql注入? 比如说,我们通过前端传递参数的时候,如果没有做校验,参数里面包含了一些sql语句,最终拿到数据库中去执行了 2、怎么防止sql注入? sql注入只会发生在sql编译的过程中,那么避免非法sql被编译,就是我们要做的事情 2.1 在JDBC中使用PreparedStatemen
阅读全文
摘要:斐波那契数列: 代码实现: public int fib(int n) { if (n <= 1) return n; // 1、定义状态数组,dp[i]表示的是数字i的斐波那契数 int[] dp = new int[n + 1]; // 2、初始状态 dp[0] = 0; dp[1] = 1;
阅读全文
摘要:把数组排成最小的数字: 代码实现 public class Solutionm { // 把数组排成最小的数字 public String minNumber(int[] nums) { List<String> list = new ArrayList<>(); for (int num : nu
阅读全文
摘要:矩阵中的路径: 题目: 实现: 代码实现 public class Solutionm { // 矩阵中的路径 public boolean exist(char[][] board, String word) { char[] charArr = word.toCharArray(); for (
阅读全文
摘要:寻找数据流的中位数: 代码实现 /** * 设计一个数据结构: * 得到一个数据流的中位数 */ public class MedianFinder { PriorityQueue<Integer> bigHeap; PriorityQueue<Integer> smallHeap; public
阅读全文
摘要:合并链表 代码实现 class ListNode1 { int val; ListNode1 next; public ListNode1(int value) { this.val = value; } } public class Solution { public ListNode1 merg
阅读全文
摘要:用2个栈实现队列: 代码实现 /** * Your CQueue object will be instantiated and called as such: * CQueue obj = new CQueue(); * obj.appendTail(value); * int param_2 =
阅读全文
摘要:不含重复字符的最长子串: 实现方案1: 代码实现 public int longestSubStr(String str) { int max = 0; Deque<Character> deque = new ArrayDeque<>(); for (int i = 0; i < str.leng
阅读全文
摘要:Spring常见面试题 1、谈谈你对spring的理解? 2、spring的核心组成 3、spring的优点 4、IOC的理解 5、AOP的理解 6、spring容器启动流程 7、Spring Bean生命周期 8、Spring如何解决循环依赖 9、Spring事务的实现方式和实现原理 spring
阅读全文
摘要:(设计模式基础) 为什么要用设计模式 设计模式是前人智慧与经验的结晶,我们所遇到的问题,前人几乎都遇到过,并给出了通用的解决方案。我们只需刨析这些问题,找到与之对应的设计模式即可合理化的解决我们所面临的难题! 编程面临着诸多挑战,设计模式能让代码: 复用性 可读性 可维护性 可靠性 使程序呈现高内聚
阅读全文
摘要:1、设计模式的原则 2、谈谈你对设计模式的理解 3、简单工厂和抽象工厂区别 4、单例模式手写代码 + 双重检查意义
阅读全文
摘要:1、HashMap扩容机制、TreeMap 2、集合框架理解 3、反射原理 4、动态代理实现 5、进程与线程理解 6、线程状态转换 7、为什么需要线程池 8、创建线程池方式 9、ThreadLocal使用场景 10、什么是死锁?怎么发生的? 11、RentrantLock理解 12、AQS理解 13
阅读全文
摘要:1、接口和抽象类的区别? **接口:**接口的关键字是interface,最大特点就是只有方法签名,没有方法体 **抽象类:**用abstract关键字修饰的,它里面的方法除了抽象方法都是有方法体的 接口需要一个具体的类去实现了这个接口,我们才能new这个具体类的对象 核心区别: 区别一: 抽象类只
阅读全文
摘要:快速排序核心思想 随机选取一个基准值 小于基准值的放在左边 大于基准值的放在右边 重复此过程 代码实现 快排代码 public void quickSort(int[] arr, int L, int R) { if (L < R) { swap(arr, L + (int)(Math.random
阅读全文