
java
文章平均质量分 56
Sssserein
这个作者很懒,什么都没留下…
展开
-
leetcode--字符串
反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例 1:输入:s = [“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例 2:输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]输出:[“h”,“a”,“n”,“n”,“a”,“H”]class Solution { public .原创 2022-05-24 09:29:14 · 175 阅读 · 0 评论 -
leetcode--回溯算法
员工的重要性给定一个保存员工信息的数据结构,它包含了员工 唯一的 id ,重要度 和 直系下属的 id 。比如,员工 1 是员工 2 的领导,员工 2 是员工 3 的领导。他们相应的重要度为 15 , 10 , 5 。那么员工 1 的数据结构是 [1, 15, [2]] ,员工 2的 数据结构是 [2, 10, [3]] ,员工 3 的数据结构是 [3, 5, []] 。注意虽然员工 3 也是员工 1 的一个下属,但是由于 并不是直系 下属,因此没有体现在员工 1 的数据结构中。现在输入一个公司的.原创 2022-05-19 09:11:50 · 150 阅读 · 0 评论 -
leetcode---三数之和&&四数之和
三数之和给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]class Solution { public List<L.原创 2022-05-19 09:13:56 · 109 阅读 · 0 评论 -
17.电话号码的字母组合
17.电话号码的字母组合给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = “23”输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]示例 2:输入:digits = “”输出:[]示例 3:输入:digits = “2”输出:[“a”,“b”,“c”]class Solutio原创 2021-08-08 15:54:24 · 146 阅读 · 0 评论 -
127. 单词接龙
127.单词接龙字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列:序列中第一个单词是 beginWord 。序列中最后一个单词是 endWord 。每次转换只能改变一个字母。转换过程中的中间单词必须是字典 wordList 中的单词。给你两个单词 beginWord 和 endWord 和一个字典 wordList ,找到从 beginWord 到 endWord 的 最短转换序列 中的 单词数目 。如果不存在这样的转换序列,返原创 2021-08-08 10:37:33 · 124 阅读 · 0 评论 -
994. 腐烂的橘子
994. 腐烂的橘子在给定的网格中,每个单元格可以有以下三个值之一:值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。示例 1:输入:[[2,1,1],[1,1,0],[0,1,1]]输出:4示例 2:输入:[[2,1,1],[0,1,1],[1,0,1]]输出:-1解释:左下角的橘子(第 2 行, 第 0原创 2021-08-08 09:40:13 · 108 阅读 · 0 评论 -
429. N 叉树的层序遍历
429. N 叉树的层序遍历给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。示例 1:输入:root = [1,null,3,2,4,null,5,6]输出:[[1],[3,2,4],[5,6]]示例 2:输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,nu原创 2021-08-07 17:42:39 · 327 阅读 · 0 评论 -
200.岛屿数量
200.岛屿数量给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:grid = [[“1”,“1”,“1”,“1”,“0”],[“1”,“1”,“0”,“1”,“0”],[“1”,“1”,“0”,“0”,“0”],[“0”,“0”,“0”,“0”,“0”]]输出:1示例 2:输入:grid = [[“1原创 2021-08-07 15:22:12 · 296 阅读 · 0 评论 -
2021-08-07
130.被围绕的区域给你一个 m x n 的矩阵 board ,由若干字符 ‘X’ 和 ‘O’ ,找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。示例 1:输入:board = [[“X”,“X”,“X”,“X”],[“X”,“O”,“O”,“X”],[“X”,“X”,“O”,“X”],[“X”,“O”,“X”,“X”]]输出:[[“X”,“X”,“X”,“X”],[“X”,“X”,“X”,“X”],[“X”,“X”,“X”,“X”],[“X”,“O”,“X”,“原创 2021-08-07 15:03:08 · 138 阅读 · 0 评论 -
JVM&&线程知识碎片
JVM线程私有的内存区域**程序计数器:**一块较小的内存空间(可看作当前线程所执行的字节码的行号指示器)Java虚拟机栈:1.和线程相关,不同线程内,即使运行同一个方法,也处于不同内存2.和方法有关,即使是同一个线程,递归调用某个方法,每次调用都会生成该次方法调用的方法栈桢.每个方法执行的时候,都会创建一个栈帧用于储存局部变量表,操作数栈.每一个方法从调用直至执行完成的过程,就对应一个栈帧在虚拟机栈中入栈和出栈的过程.会产生的异常:1.如果线程请求的栈深度大于虚拟机所允许的深度,将会抛出S原创 2021-03-02 20:38:21 · 90 阅读 · 0 评论 -
接口测试及线程知识碎片记录
web项目的接口测试:Java中使用第三方的一些框架完成接口测试:http客户端工具:做请求http服务器的接口(设置请求参数,获取响应数据[状态码,消息,响应体])JDK:URLConnection第三方工具: apache httpclient/htmlunit/springboot中restTemplate数据解析工具:使用json数据时,可以使用jackson,gson,fastjson来进行解析单元测试工具:junit(@Test + Assert),mockito,j原创 2021-03-01 09:47:57 · 116 阅读 · 0 评论 -
线程安全问题以及synchronized、volatile关键字
synchronized 关键字语法:1.静态方法2.实例方法3.代码块:synchronized(对象) { // new 对象、class对象// TODO}进入 synchronized 代码行时,需要获取对象锁:1.获取成功:往下执行2.获取失败:阻塞在 synchronized 代码行退出 synchronized 代码块,或 synchronized 方法:1.退回对象锁2.通知Java虚拟机及系统,其他线程可以竞争这把锁注意:1.原创 2020-07-31 09:49:48 · 267 阅读 · 0 评论 -
线程等待及守护线程问题
线程等待:(1) join(2) 结合activeCount() + yield() 使用 while (Thread.activeCount() > 1) { //用调试的方式运行 Thread.yield();//将当前线程由运行态-->就绪态 }等待线程死亡当前线程:代码执行的时候,所在的线程t 线程:线程引用对象当前线程进行阻塞(运行态–>阻塞态)等待(满足一定条件),t线程(不做任何处理,让t执行运行)条件:(哪个条件先执行完原创 2020-07-29 16:29:56 · 221 阅读 · 0 评论 -
线程中断问题
线程中断问题总结:1.线程启动后:中断标志位=false2.在线程运行态中,处理线程中断,需要通过判断中断标志位,来进行中断的处理逻辑。thread.isInterrupted()/Thread.Interrupted()3.线程因调用wait()/join()/sleep()阻塞状态时,将线程中断,会造成:(1)在这三个阻塞方法所在行,抛出InterruptedException异常(2)抛出异常后,重置线程的中断标志位(=true)4.static void interrupted():原创 2020-07-27 12:43:27 · 269 阅读 · 0 评论 -
Java版本杨辉三角 leetcode
杨辉三角Java版本package LPoker;import java.util.ArrayList;import java.util.List;public class YangHui { public List<List<Integer>> generate(int numRows){ // 1. 第一行固定一个 1 ...原创 2020-04-03 17:37:34 · 278 阅读 · 0 评论 -
二叉树前中后序遍历等操作leetcode
二叉树的前序遍历给定一个二叉树,返回它的 前序 遍历。示例:输入: [1,null,2,3]12/3输出: [1,2,3]public List<Integer> preorderTraversal(TreeNode root) { List<Integer> result = new ArrayList<>(); ...原创 2020-03-30 20:46:49 · 121 阅读 · 0 评论 -
Java 异常处理
Java 异常处理// 异常处理流程// 1. 程序先执行 try 中的代码// 2. 如果 try 中代码出现异常,结束 try中其他代码。检查当前异常和 catch 中声明的异常类型是否匹配// 3. 如果找到匹配的异常类型,这个异常就被当前 catch 捕获,就执行 catch 中代码// 4. 如果没找到匹配的异常类型,这个异常就会沿着调用栈,传递给方法的调用者// 5. 无论...原创 2020-03-28 18:12:00 · 145 阅读 · 0 评论 -
String类学习
String类的学习package LString;import java.lang.reflect.Field;public class StringTest { public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException { try{ ...原创 2020-03-28 13:20:39 · 154 阅读 · 0 评论 -
编写代码: 实现一个方法 sum, 以数组为参数, 求数组所有元素之和.
问题描述:编写代码: 实现一个方法 sum, 以数组为参数, 求数组所有元素之和.import java. util. Arrays;public class sumTest { public static void main (String[] args) { int[] arr = {1, 3, 4, 6, 4, 2}; System. out. println(sum(...原创 2019-12-29 21:08:37 · 2593 阅读 · 0 评论