Java
200-
这个作者很懒,什么都没留下…
展开
-
手写实现HashMap的put和get方法
手写实现HashMap的put和get方法interface MyMap<K,V> { V put(K key,V value); V get(K key);}public class MyHashMap<K,V> implements MyMap<K,V> { private static final int INIT_CAPACITY = 16; private static final double LOAD_FACTOR原创 2022-02-27 20:08:19 · 233 阅读 · 0 评论 -
LeetCode 253. 会议室 II(优先队列)
题目给定一个会议时间安排的数组,每个会议时间都会包括开始和结束的时间 [[s1,e1],[s2,e2],…] (si < ei),为避免会议冲突,同时要考虑充分利用会议室资源,请你计算至少需要多少间会议室,才能满足这些会议安排。示例 1:输入: [[0, 30],[5, 10],[15, 20]]输出: 2示例 2:输入: [[7,10],[2,4]]输出: 1解题类似题目:LeetCode 252. 会议室(排序)import java.util.Arrays;.原创 2021-09-13 20:00:14 · 313 阅读 · 0 评论 -
使用递归方式实现全排列
写的不好看,思路是在前一个数全排列的基础上在每个位置插入当前的数。import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;import static java.util.Arrays.sort;class Main { public List<List<Integer>> allSorted(Lis原创 2021-03-21 19:29:59 · 217 阅读 · 0 评论 -
105. 从前序与中序遍历序列构造二叉树
从前序与中序遍历序列构造二叉树根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树:3/ \9 20/ \15 7二. 解题思路本题思路:了解前序遍历和中序遍历的特点并利用递归算法进行求解。前序特点:第一个元素必定是根节点,而中序遍历的特点是,根节点左右必定是左右子树的节点的集合。步骤一:使用前序遍.原创 2021-02-25 17:15:17 · 202 阅读 · 0 评论 -
JAVA数组复制、截取
说明:T[] java.util.Arrays.copyOfRange(T[] original, int from, int to)将指定数组original,从from开始复制,复制到to,返回一个新的数组T[]区间为左闭右开。示例:int[] a = new int[]{3, 9, 20, 15, 7};int [] b = Arrays.copyOfRange(a,0,2);//b:[3,9]...原创 2021-02-25 17:05:37 · 9302 阅读 · 3 评论 -
201812-2 小明放学
201812-2 小明放学题目思路画个图就可以知道红绿灯之间的关系,比较简单,看在哪个时间段就行了,注意用long保存数据。import java.util.*;class Main { public static long cal(long val,long r,long gy,long yy){ if(val<r){ return r-val; } else if(r<=val &&原创 2021-02-24 22:27:05 · 121 阅读 · 0 评论 -
java中创建List<>类型的数组-20171028
遇到了一个问题需要创建List类型的数组,但是在网上查了很多资料,好像发现并不能创建泛型的数组,于是改用Hashmap实现同等的功能。代码如下:Map<String,List<AddList>>map=newHashMap<String,List<AddList>>();for(int i=0;i<N;i++){List<AddList> list=new ArrayList<AddList>();map.put(转载 2021-02-24 21:37:48 · 1127 阅读 · 0 评论 -
201909-1小明种苹果
import java.util.LinkedList;import java.util.List;import java.util.Scanner;class Main { public static void main(String[] args) { Scanner sc= new Scanner(System.in); int N=sc.nextInt(); int M=sc.nextInt(); int Sum=0;原创 2021-02-24 21:30:31 · 56 阅读 · 0 评论 -
Java中对于字符串的处理
我们都知道Java中String是final对象,所以不能修改,这时候就可以将其转换为char类型的数组对其中的具体的位进行修改,同时再返回一个新的new对象,就是Java中的toCharArray()方法。toCharArray() 方法将字符串转换为字符数组。语法public char[] toCharArray()参数无返回值字符数组可以用这个方法转化成字符数组,修改后再转换为String对象 public static String rollup(String str,in原创 2021-01-25 18:03:51 · 118 阅读 · 0 评论 -
leetcode--111. 二叉树的最小深度
你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字: ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’ 。每个拨轮可以自由旋转:例如把 ‘9’ 变为 ‘0’,‘0’ 变为 ‘9’ 。每次旋转都只能旋转一个拨轮的一位数字。锁的初始数字为 ‘0000’ ,一个代表四个拨轮的数字的字符串。列表 deadends 包含了一组死亡数字,一旦拨轮的数字和列表里的任何一个元素相同,这个锁将会被永久锁定,无法再被旋转。字符串 target 代表可以解锁的数字,你原创 2021-01-25 17:51:49 · 62 阅读 · 0 评论 -
leetcode--111. 二叉树的最小深度
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例 1:输入:root = [3,9,20,null,null,15,7]输出:2示例 2:输入:root = [2,null,3,null,4,null,5,null,6]输出:5提示:树中节点数的范围在 [0, 105] 内-1000 <= Node.val <= 1000import java.util.*;/*offer,ad原创 2021-01-24 09:33:41 · 80 阅读 · 0 评论 -
leetcode--51. N 皇后
n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。输入:n = 4输出:[[".Q…","…Q",“Q…”,"…Q."],["…Q.",“Q…”,"…Q",".Q…"]]解释:如上图所示,4 皇后问题存在两个不同的解法。示例 2:输入:n = 1输出:[[“Q”]]提示:1原创 2021-01-24 08:53:00 · 178 阅读 · 0 评论 -
leetcode--46.全排列-力扣
给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]import java.util.ArrayList;import java.util.List;/*先创建保存最终结果的res,再传入nums,depth,res,used,path,len */public class Main { public List<List&原创 2021-01-23 16:10:51 · 175 阅读 · 0 评论