![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA SE
晓风轻飏丶
这个作者很懒,什么都没留下…
展开
-
LeetCode15 三数之和
15. 三数之和 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 解题思想 : 要求不重复 首先想到寻找特殊值来确定 如最小值/最大值不同 则不同, 所以我们把数组排序 由于数组从小到大 所以我们确定一个最小值 然后用双指针来确定其他两个值 L = minIndex+1 R = length-1 为了结果不重复 我们在移动指针的时候还要考虑重复原创 2021-03-06 16:21:58 · 47 阅读 · 0 评论 -
关于java动态代理
关于java动态代理的一些理解与笔记 动态代理的解释 一般情况下 一个接口想要实例化 必须依靠它的实现类来完成 而动态代理则可以在不写实现类的情况下实例化接口 原理就是jdk在内存中自动帮你创建了个实现类 我们称它为代理类 这种实例化的方式也就称为动态代理 既然动态代理能够"无中生有" 那么在已有的实现类的方法上"添油加醋"自然也不是什么难事 比如说我现在有一个类要测试 如果每次运行这个类的方法时都要打日志 输出方法名 参数等等 那么最暴力的方法就算手动在每一个类里加一行Logger.debug("…")原创 2020-12-15 14:37:47 · 102 阅读 · 0 评论 -
LeetCode20 有效的括号
20. 有效的括号 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 /** * 问题: 没有考虑到先出现反括号的情况 * 没有考虑到全是正括号的现象 */ public static boolean isValid(String s) { if (s.length() %2 != 0){ return原创 2021-02-26 22:43:20 · 47 阅读 · 0 评论 -
LeetCode11 盛最多水的容器
盛最多水的容器 题目 给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器。 输入:[1,8,6,2,5,4,8,3,7] 输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。 解法思路 用左原创 2021-02-24 22:37:41 · 43 阅读 · 0 评论 -
lambda表达式
函数式接口(Functional Interface) 任何接口,如果只包含唯一一个抽象方法,那么他就是一个函数式接口 对于函数式接口 我们可以通过lamda表达式来创建该接口的对象 以往我们实现函数式接口的方法 ////1.实现类 //class Legend implements ILegend { // @Override // public void play(int a) { // System.out.println("legend play"+a); //原创 2021-01-19 10:11:13 · 127 阅读 · 0 评论 -
多线程
三种创建方式 Thread类** Runnable接口** Callable接口(现阶段了解 但很重要) 1.Thread类创建线程 将一个类声明为Thread的子类 并重写run方法 调用start开启线程 线程开启不一定立即执行,由cpu调度安排 调用run()和strat()的区别 run() 只有主线程一条执行路径 start() 多条执行路径,主线程和子线程并行交替执行 Thread练习时的坑 不要用@Test测试 因为Test在执行完start之后就直接结束了不会等你的线原创 2021-01-19 10:10:02 · 52 阅读 · 0 评论