自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

红三木的博客

此处无声胜有声

  • 博客(28)
  • 收藏
  • 关注

原创 外部类可以访问私有内部类的方法

可以通过返回一个接口来达到对私有内部类的访问,如下public static <T> List<T> asList(T... a) { return new ArrayList<>(a); } /** * @serial include */ private static class ArrayList<E> extends AbstractList<E> implem

2020-07-05 20:24:28 701

原创 lc347前K个高频元素

两次堆排序+关联数组我这个程序采用的是泛型,本来不是为了这道题而写,而是为了这一类题,使得不管输入的任何类型都可以计算前K个高频元素因为要遵循题目格式,所以代码比较乱,之后会写成工具类放在github上,欢迎大家starclass Solution { private static int size; private static <T extends Comparable> void build(List<T> t) { int pos

2020-07-01 21:16:08 154

原创 lc75快速排序

给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。class Solution { public void sortColors(int[] nums) { recur(nums, 0, nums.length - 1); } private static void

2020-06-30 11:51:46 152

原创 lc904水果成篮

在一排树中,第 i 棵树产生 tree[i] 型的水果。你可以从你选择的任何树开始,然后重复执行以下步骤:把这棵树上的水果放进你的篮子里。如果你做不到,就停下来。移动到当前树右侧的下一棵树。如果右边没有树,就停下来。请注意,在选择一颗树后,你没有任何选择:你必须执行步骤 1,然后执行步骤 2,然后返回步骤 1,然后执行步骤 2,依此类推,直至停止。你有两个篮子,每个篮子可以携带任何数量的水果,但你希望每个篮子只携带一种类型的水果。用这个程序你能收集的水果总量是多少这道题我利用HashMap+双

2020-06-23 22:53:19 218

原创 lc11盛最多水的容器

给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。此题还是比较简单的,双指针求最大面积区域即可。/** * @author sanmu * @classname Solution * @description 乘最多水的容器 * @date 2020/6/

2020-06-23 20:09:36 164

原创 字节算法题之复原IP地址

给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 ‘.’ 分隔。/** * description: 恢复IP地址 * author: sanmu */class RestoreIP { List<String> list = new ArrayList<>(); public List<String> restoreIpAddresse

2020-06-16 21:17:50 134

原创 lc794. 有效的井字游戏

用字符串数组作为井字游戏的游戏板 board。当且仅当在井字游戏过程中,玩家有可能将字符放置成游戏板所显示的状态时,才返回 true。原题链接这题分到递归标签里面,但我感觉题解和递归标签不是很大啊我用了递归遍历来判断数组相等的方法,最后超时了,结果进行剪枝优化,108个样例基本只过了80几个,但是逻辑是没问题的。这是我的超时源码`/** * description: 井字游戏 * author: sanmu */public class Solution { int X_sum =

2020-06-16 18:21:06 216

原创 lc1391. 检查网格中是否存在有效路径

lc1391. 检查网格中是否存在有效路径给你一个 m x n 的网格 grid。网格里的每个单元都代表一条街道。grid[i][j] 的街道可以是:1 表示连接左单元格和右单元格的街道。2 表示连接上单元格和下单元格的街道。3 表示连接左单元格和下单元格的街道。4 表示连接右单元格和下单元格的街道。5 表示连接左单元格和上单元格的街道。6 表示连接右单元格和上单元格的街道。、package com.algorithm.graph;/** * description:检查网格中是否存在

2020-06-08 23:15:03 166

原创 lc面试题 16.24. 数对和

设计一个算法,找出数组中两数之和为指定值的所有整数对。一个数只能属于一个数对。水题 排序+双指针/** * description: 数对和 * author: sanmu */public class Solution { public List<List<Integer>> pairSums(int[] nums, int target) { List<List<Integer>> lists = new ArrayLi

2020-06-08 19:54:10 239

原创 lc951翻转等价二叉树

lc951翻转等价二叉树我们可以为二叉树 T 定义一个翻转操作,如下所示:选择任意节点,然后交换它的左子树和右子树。只要经过一定次数的翻转操作后,能使 X 等于 Y,我们就称二叉树 X 翻转等价于二叉树 Y。/** * description: 翻转等价二叉树 * author: samu */public class Solution { public boolean flipEquiv(TreeNode root1, TreeNode root2) { if(roo

2020-06-08 17:02:31 101

原创 lc173二叉搜索树迭代器

lc173二叉搜索树迭代器实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。调用 next() 将返回二叉搜索树中的下一个最小的数。public class BSTIterator { private List<Integer> list = new ArrayList<Integer>(); private int[] minArray; private int curr; public BSTIterator(TreeNod

2020-06-07 23:19:58 106

原创 lc105 从前序与中序遍历序列构造二叉树

lc105 从前序与中序遍历序列构造二叉树根据一棵树的前序遍历与中序遍历构造二叉树。/** * description:从前序与中序遍历序列构造二叉树 * author:sanmu * */public class Solution105 { public TreeNode buildTree(int[] preorder, int[] inorder) { if(preorder.length == 0 || inorder.length ==0){

2020-06-05 23:32:33 183

原创 lc102二叉树的层序遍历

lc102二叉树的层序遍历给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)public class Solution { public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> lists = new LinkedList<List<Integer>>();

2020-06-05 20:05:39 127

原创 lc1367 二叉树中的列表

lc1367 二叉树中的列表给你一棵以 root 为根的二叉树和一个 head 为第一个节点的链表。如果在二叉树中,存在一条一直向下的路径,且每个点的数值恰好一一对应以 head 为首的链表中每个节点的值,那么请你返回 True ,否则返回 False 。一直向下的路径的意思是:从树中某个节点开始,一直连续向下的路径。public class Solution{ private ListNode listNode; public boolean isSubPath(ListNode

2020-06-05 18:28:34 95

原创 966. 元音拼写检查器

题目描述在给定单词列表 wordlist 的情况下,我们希望实现一个拼写检查器,将查询单词转换为正确的单词。对于给定的查询单词 query,拼写检查器将会处理两类拼写错误:大小写:如果查询匹配单词列表中的某个单词(不区分大小写),则返回的正确单词与单词列表中的大小写相同。例如:wordlist = [“yellow”], query = “YellOw”: correct = “yellow”例如:wordlist = [“Yellow”], query = “yellow”: correct =

2020-06-05 16:24:39 97

原创 lc17.17字符串多次搜索

题目给定一个较长字符串big和一个包含较短字符串的数组smalls,设计一个方法,根据smalls中的每一个较短字符串,对big进行搜索。输出smalls中的字符串在big里出现的所有位置positions,其中positions[i]为smalls[i]出现的所有位置。lc17.17字符串多次搜索AC代码class Solution { public int[][] multiSearch(String big, String[] smalls) { int[][] re

2020-06-05 01:01:48 105

原创 lc468 ipv4与ipv6的校验

class Solution { public String validIPAddress(String IP) { String[] ipsp = null; if (IP.indexOf('.') != -1) { boolean flag = true; if (!IP.endsWith(".")) { ipsp = IP.split("\\.");

2020-06-04 23:06:55 162

转载 浅谈模板引擎

浅谈模板引擎

2020-04-20 20:42:29 179 1

转载 为什么局部内部类和匿名内部类只能访问final的局部变量?

原文链接class OutClass { private int age = 12; public void outPrint(final int x) { class InClass { public void InPrint() { System.out.println(x); System.out.println(age); } } new ...

2020-04-19 19:03:39 260

转载 多个客户端如何同时连接到服务器上的一个端口,比如80

多个客户端如何同时连接到服务器上的一个端口,比如80?原文链接平时我们使用ServerSocket指定了某个端口(例如8080),然后多个客户端连接上socket之后就都用这个8080端口和服务器端通讯。或者http服务器使用80端口也是和多个浏览器进行连接通讯。为什么可以这样呢?操作系统的进程在同个端口的多个连接是如何进行分辨的?我们这里讲Socket连接:端口只是一个数字辨识,不是...

2020-04-15 14:49:31 5534

原创 关于数据库与数据库实例(instance)的认识

Oracle数据库,实际上应该是说,我们使用的是Oracle服务server。Oracle服务server包括有两个部分:一个部分是Oracle数据库database一个部分是数据库实例instance。Oracle数据库database,包括有数据文件、控制文件、重做日志文件,都是一些物理上的文件。数据库实例instance,包括有数据库后台进程(PMON、SMON、DBWR、LGWR...

2020-04-15 13:18:57 1061

原创 spingboot不能在默认包启动

springboot警告:ApplicationContext is unlikely to start due to a @ComponentScan of the default package警告为** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the defa...

2020-04-15 12:30:17 171

转载 Java中,比较两个字符串引用变量是否相等(常量池)

原文链接在这下面的小程序用来判断两个字符串引用变量是否相等:public class TestString {public static void main(String[] args) { String str1=new String("Hello Java!"); String str2=str1; String str3="Hello Java!"; ...

2020-04-15 00:35:19 851

原创 磁盘调度算法之SCAN

SCAN#include<iostream>#include<vector>#include<algorithm>#include<iterator>using namespace std;class Scan{ int start_track; vector<int> v; vector<int...

2019-12-04 12:04:59 859

原创 实时调度之最早截止时间EDF

EDF算法#include<iostream>#include<vector>#include<string>#include<algorithm>using namespace std;class Process{ string name; int run_time; int dead_time;public:...

2019-12-04 12:03:13 1155

原创 操作系统实验页面置换实验之LRU算法

LRU#include<iostream>#include<deque>#include<vector>#include<algorithm>using namespace std;class Page{ int Pnum; int Ptime; public: Page(int tPnum,int tPt...

2019-12-04 11:49:44 854

原创 操作系统作业之银行家算法实现

银行家算法代码注释 之后再详细给出#include<iostream>#include<vector>#include<string>#include<iterator>using namespace std;class Process{ string name; vector<int> Allocati...

2019-12-03 23:16:48 344

转载 使用Android Studio出现should use @string resource的原因

link

2019-10-16 22:11:06 996

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除