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 · 48 阅读 · 0 评论 -
关于java动态代理
关于java动态代理的一些理解与笔记动态代理的解释一般情况下 一个接口想要实例化 必须依靠它的实现类来完成而动态代理则可以在不写实现类的情况下实例化接口原理就是jdk在内存中自动帮你创建了个实现类我们称它为代理类 这种实例化的方式也就称为动态代理既然动态代理能够"无中生有"那么在已有的实现类的方法上"添油加醋"自然也不是什么难事比如说我现在有一个类要测试如果每次运行这个类的方法时都要打日志 输出方法名 参数等等那么最暴力的方法就算手动在每一个类里加一行Logger.debug("…")原创 2020-12-15 14:37:47 · 104 阅读 · 0 评论 -
LeetCode20 有效的括号
20. 有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。/** * 问题: 没有考虑到先出现反括号的情况 * 没有考虑到全是正括号的现象 */ public static boolean isValid(String s) { if (s.length() %2 != 0){ return原创 2021-02-26 22:43:20 · 49 阅读 · 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 · 46 阅读 · 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 · 128 阅读 · 0 评论 -
多线程
三种创建方式Thread类**Runnable接口**Callable接口(现阶段了解 但很重要)1.Thread类创建线程将一个类声明为Thread的子类 并重写run方法 调用start开启线程线程开启不一定立即执行,由cpu调度安排调用run()和strat()的区别run() 只有主线程一条执行路径start() 多条执行路径,主线程和子线程并行交替执行Thread练习时的坑不要用@Test测试 因为Test在执行完start之后就直接结束了不会等你的线原创 2021-01-19 10:10:02 · 55 阅读 · 0 评论