自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

放羊的大飞

宏愿纵未了,奋斗总不太晚

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

原创 LeetCode_排序数组_Array_M

912. 排序数组class Solution { public int[] sortArray(int[] nums) { quickSort(nums, 0, nums.length - 1); return nums; } // 快排 private void quickSort(int[] arr, int l, int r...

2020-03-31 21:21:07 95

原创 B树和B+树

一、B树二、B+树

2020-03-31 00:09:23 102

原创 二叉树和红黑树

一、二叉树 1.每个节点最多有两个子节点(度不大于2) 2.满二叉树:深度为k,有2^k-1个节点 3.完全二叉树:在满二叉树的基础上右边缺几个口。深度为k,最少2^(k-1)个节点,最多2^k - 1个节点 4.节点的度:子树的个数。度为0的叫叶子节点,度不为0的叫分支节点 5.先序遍历(根左右)、中序遍历(左根右)、后序遍历(左右根)、层次遍历(队列实...

2020-03-31 00:06:21 391

原创 LeetCode_圆圈中最后剩下的数字_Math_E

面试题62. 圆圈中最后剩下的数字class Solution { public int lastRemaining(int n, int m) { // 模拟法 List<Integer> list = new ArrayList<>(n); for (int i = 0; i < n; i++) { ...

2020-03-30 03:01:26 75

原创 LeetCode_地图分析_BFS_M

1162. 地图分析class Solution { public int maxDistance(int[][] grid) { Queue<Node> queue = new LinkedList<>(); // 把首节点放进去: 所有的1 for (int i = 0; i < grid.length...

2020-03-30 01:43:13 92

原创 Trie 前缀树/字典树

一、Trie的介绍: 1、主要应用场景:搜索引擎的自动补全功能:Trie树+词频(概率)权重因子 IP路由:最长前缀匹配,Trie路由算法 分词 2、对比哈希表:哈希表大部分情况下能实现O(1)搜索,但是当冲突较大时可能会O(n);相同的前...

2020-03-29 02:47:20 143

原创 LeetCode_实现 Trie (前缀树)_Trie_M

208. 实现 Trie (前缀树)class Trie { //定义节点 class TrieNode { boolean isEnd; TrieNode[] next = new TrieNode[26]; public TrieNode(){} } private TrieNode root; ...

2020-03-29 02:12:09 85

原创 LeetCode_单词的压缩编码_Array_M

820. 单词的压缩编码 暴力..class Solution { public int minimumLengthEncoding(String[] words) { String[] temp = new String[words.length]; // 不能压缩的字符串集合 int size = 0, sum = 0; ...

2020-03-28 23:44:35 106

原创 LeetCode_可以被一步捕获的棋子数_Array_E

999. 可以被一步捕获的棋子数class Solution { public int numRookCaptures(char[][] board) { if (board == null) { return -1; } int x = 0, y = 0, sum = 0; for (int i...

2020-03-28 21:09:48 138

原创 LeetCode_卡牌分组_Array_E

914. 卡牌分组// 暴力..class Solution { public boolean hasGroupsSizeX(int[] deck) { int[] temp = new int[10000]; for (int a : deck) { temp[a] ++; } int j =...

2020-03-27 02:47:52 74

原创 Spring Bean的生命周期、BeanFactory和FactoryBean的区别

一、Spring Bean的生命周期二、Spring BeanFactory和FactoryBean的区别

2020-03-26 23:15:04 145

原创 Spring的IoC和AOP原理

IoC和AOPIoC简介: 1.Inversion of Control 控制反转。一种设计思想,为了降低耦合度。 2.A实例调用B实例,通常是A通过new B来创建B实例,从而调用;而在依赖注入的模式下创建被调用者的工作不再由调用者来完成,而是通过Spring来创建,因此称之为“控制反转”;获得依赖对象的过程被反转了。 3.DI: Dependency Inje...

2020-03-25 23:35:47 862

原创 Mysql的modify和change

Change: 对列进行重命名时: < mysql> ALTER TABLE t1 CHANGE a b INTEGER。 改列的类型而不是名称, CHANGE语法仍然要求旧的和新的列名称,即使旧的和新的列名称是一样的。 <mysql> ALTER TABLE t1 CHANGE b b BIGINTNOT ...

2020-03-25 11:01:10 1038

原创 LeetCode_三维形体的表面积_Math_E

892. 三维形体的表面积class Solution { public int surfaceArea(int[][] grid) { int n = grid.length, sum = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) {...

2020-03-25 01:58:43 63

原创 LeetCode_环形链表_LinkedList_E

141. 环形链表常规思路:放到哈希表里面,如果碰到相同的,就认为是有环/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * nex...

2020-03-23 22:56:09 69

原创 LeetCode_链表的中间结点_LinkedList_E

876. 链表的中间结点/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode...

2020-03-23 21:12:59 90

原创 LeetCode_使数组唯一的最小增量_Array_M

945. 使数组唯一的最小增量class Solution { public int minIncrementForUnique(int[] A) { if (A == null || A.length == 0) { return 0; } Arrays.sort(A); int sum = 0...

2020-03-23 00:23:47 78

原创 java的三种代理模式(AOP原理)

一、静态代理:1个接口+2实现类,不灵活二、JDK动态代理 1.又叫动态代理、JDK代理。目标对象一定要实现接口(否则只能用CGLib动态代理),代理类是 java.lang.reflect.Proxy类。 a.定义接口; b.创建真实委托类,实现接口; c.创建中间类,实现InvocationHandler接口,重写invoke方法,同时可...

2020-03-20 23:52:41 494

原创 LeetCode_最长回文串_String_E

409. 最长回文串class Solution{ public int longestPalindrome(String s) { if(s == null || s.length() == 0) { return 0; } int[] ch = new int[52]; for (char c : s.toCharArray()) { if (c >...

2020-03-19 21:44:42 59

原创 LeetCode_矩形重叠_Math_E

836. 矩形重叠class Solution { public boolean isRectangleOverlap(int[] rec1, int[] rec2) { // 方法一: 计算重叠区域 if (Math.min(rec1[2], rec2[2]) > Math.max(rec1[0], rec2[0]) && ...

2020-03-18 23:16:39 93

原创 LeetCode_拼写单词_Array_E

1160. 拼写单词 hashMap日常暴力...class Solution { public int countCharacters(String[] words, String chars) { char[] ch = chars.toCharArray(); if (ch.length == 0) { re...

2020-03-17 22:27:21 59

原创 LeetCode_重复的子字符串_String_E

459. 重复的子字符串class Solution { public boolean repeatedSubstringPattern(String s) { if (s == null || s.length() < 2) { return false; } int length = s.length(...

2020-03-16 22:04:52 74

原创 LeetCode_字符串压缩_String_E

01.06. 字符串压缩class Solution { public String compressString(String S) { if (S == null || S.length() == 0) { return ""; } char[] c = S.toCharArray(); St...

2020-03-16 21:26:49 76

原创 LeetCode_用栈实现队列_Stack_E

232. 用栈实现队列 两个栈实现: 栈s1中的数据是:直接push,从下到上是1234,跟队列的顺序相反; 栈s2中的数据是:从上到下是1234,直接pop符合队列的顺序。 s2不为空时,直接在s2中pop就行; s2为空时,先把s1中所有元素都倒过来挪到s2,再从s2中popclass MyQueue { Stack<Integer...

2020-03-16 02:31:06 171

原创 LeetCode_用队列实现栈_Stack_E

225. 用队列实现栈方法一: 用两个队列来回poll和offer实现: 压入栈O(1)、弹出栈O(n)class MyStack { private Queue<Integer> q1, q2; int top; // 记录栈的栈顶元素,其实就是队列的尾 /** Initialize your data structure here...

2020-03-16 01:34:06 110

原创 happens-before原则

一、happens-before 原则

2020-03-14 18:18:43 355

原创 JVM调优

一、JVM调优 1.jvm调优主要是内存空间的分配,目的是提高系统性能。主要调优方式: 1.适当增加堆大小(也不能太大不然gc时间太长); 2.-Xms初始堆大小 和-Xmx最大堆大小相同,减少内存扩容的开销; 3.减少full GC频率的方式:适当增加eden空间,让更多的对象留在年轻代;合理调整进入老年代的年龄; 4.大...

2020-03-14 16:18:50 306

原创 osgi

一、osgi详解二、如何实现的

2020-03-14 03:28:58 154

原创 LeetCode_求众数II_Array_M

229. 求众数 II 169. 多数元素的升级版class Solution { public List<Integer> majorityElement(int[] nums) { // 先用投票法,找出两个候选人; 再遍历这两个候选人出现的次数是不是符合要求 if (nums == null || nums.len...

2020-03-13 21:39:21 62

原创 LeetCode_多数元素_Array_E

169. 多数元素// 自己的笨比方法,用hashMap存,又慢又费内存class Solution { public int majorityElement(int[] nums) { if (nums == null || nums.length == 0) { return -1; } Map<I...

2020-03-13 20:45:33 60

原创 LeetCode_字符串的最大公因子_String_E

1071. 字符串的最大公因子// 又是自己的暴力..class Solution { public String gcdOfStrings(String str1, String str2) { if(str1 == null || str2 == null) { return ""; } String s...

2020-03-12 22:00:11 75

原创 LeetCode_二叉树的堂兄弟节点_BFS/DFS_E

993. 二叉树的堂兄弟节点 自己做的第一个想到的还是BFS... 代码又臭又长效率还低../** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(...

2020-03-11 21:42:21 112

原创 LeetCode_将数组分成和相等的三个部分_Array_E

1013. 将数组分成和相等的三个部分class Solution { public boolean canThreePartsEqualSum(int[] A) { int sum = 0; for (int a : A) { sum += a; } if (sum % 3 != 0 || A....

2020-03-11 20:29:51 81

原创 类加载机制

一、详解类加载机制二、有哪些类加载器,分别加载哪些文件三、手写类加载demo

2020-03-11 02:46:07 145

原创 LeetCode_二叉树的层次遍历_BFS/DFS_M

102. 二叉树的层次遍历自己做的,完全按BFS模板搞的:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; }...

2020-03-10 22:36:09 118

原创 LeetCode_买卖股票的最佳时机_DP_E

121. 买卖股票的最佳时机DP?????

2020-03-09 22:33:48 87

原创 java字节码

一、字节码有哪些? 二、Integer x=5, int y=5, 比较 x==y 都经过哪些步骤?

2020-03-09 02:49:46 359

原创 GC垃圾回收机制

一、gc算法二、gc收集器三、为什么要关注gc?四、线上频繁full gc怎么办?五、cpu使用率过高怎么办?

2020-03-08 18:53:23 197 1

原创 LeetCode_和为s的连续正数序列_Math_E

和为s的连续正数序列class Solution { public int[][] findContinuousSequence(int target) { List<int[]> list = new ArrayList<>(); int sum = 0; int max = target / 2 + 1; ...

2020-03-06 21:35:33 102

原创 BFS

BFS(Breadth First Search):广度优先搜索算法一、BFS用于解决两类问题: 1). 从A出发是否存在到达B的路径 2). 从A出发到达B的最少步骤二、BFS通用流程: 1). 构建Node类,加合适属性; 2). 初始化队列,将起点offer进队列; 3). 消费Queue中的对象,poll的同时判断有没有新数据要offer进来...

2020-03-06 02:47:31 114

空空如也

空空如也

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

TA关注的人

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