自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(213)
  • 资源 (3)
  • 收藏
  • 关注

原创 计算机网络知识总结一计算机网络和协议(一)

计算机网络知识总结一计算机网络和协议(一)互联网概述互联网组成计算机网络的性能指标OSI参考模型以及TCP/IP四层模型、五层协议通信过程、数据传输、网络设备小结互联网概述计算机网络: 由若干节点和连接这些节点的链路组成,网络中的节点可以是计算机、集线器、交换机、或路由器等;网络之间可以通过路由器相互连接,这就构成了一个更大范围的计算机网路,这样的网路称为互连网,因此互连网是网路的网路;因特网(互联网): 全球最大的特定互连网;路由器(Router),是连接因特网中各

2018-10-23 11:17:14 5117 2

原创 深入理解Java虚拟机总结一自动内存管理机制(一)

深入理解Java虚拟机总结一自动内存管理机制(一)运行时数据区域HotSpot虚拟机对象探秘运行时数据区域总体的内存区的划分: 划分线程共享和线程独占和线程共享的原因: 接下来就是各个运行时数据区的详细概况: 1).程序计数器: 2).Java虚拟机栈 3). 本地方法栈 4).Java堆 5). 方法区 6). 方法...

2018-09-09 19:43:49 381 2

原创 哈夫曼树和哈夫曼编码总结

目录哈夫曼树的构造哈夫曼编码的构造 哈夫曼树的构造 首先给出树的几个概念: 路径:从树种一个结点到另一个结点之间的分支构成这两个结点之间的路径,路径上的分支数目称作路径长度。 树的路径长度:从树根到每一个结点的路径长度之和。 结点的带权路径长度:为从该结点到树根的之间的路径长度与结点上权的成绩。 树的带权路径长度:为数中所有叶子结点的带权路径...

2018-04-21 10:02:20 4172

原创 ACM常用模板(+模板题)(基础)

目录大数二分枚举排列子集生成n皇后回溯并查集树状数组KMP,Sunday,BM01背包,完全背包最长(不)上升或下降子序列最长公共子序列拓扑排序欧拉路径和回路搜索最小生成树最短路GCD和LCM埃拉托斯特尼筛法唯一分定理扩展欧几里得欧拉函数快速幂矩阵快速幂 说明 虽然只打了一年的ACM,现在已经离开ACM赛场了,但是在ACM中一些...

2018-04-08 17:15:03 21495 7

原创 各种排序算法总结(全面)

目录冒泡排序改进的冒泡排序(鸡尾酒排序)选择排序插入排序二分插入排序希尔排序快速排序归并排序堆排序计数排序基数排序桶排序 基本概要 排序算法大体可分为两种: 一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 另一种是非比较排序,时间复杂度可以达到O(...

2018-04-05 20:28:39 25447 5

原创 二叉树之Morris遍历

二叉树神级遍历方法(Morris遍历)递归理解以及morris遍历由morris遍历改成前序遍历由morris遍历改成中序遍历由morris遍历改成后续遍历完整测试代码 递归理解以及morris遍历 private static void process(Node head){ if(head == null)return; Syste...

2021-03-03 22:51:28 411

原创 LeetCode - 91. Decode Ways & 639. Decode Ways II(DP)

LeetCode - 91. Decode Ways & 639. Decode Ways II(DP)LeetCode - 91. Decode WaysLeetCode - 639. Decode Ways IILeetCode - 91. Decode Ways题目链接题目解析class Solution { HashMap<String, Int...

2019-02-02 21:53:33 456

原创 Codeforces - 1106D. Lunar New Year and a Wander(图简单题)

Codeforces - 1106D. Lunar New Year and a Wander(图简单题)题目链接题目给你一张图,n、m分别代表n个顶点和m条边,然后给你无向图的m条边,要你从1开始,找到一个遍历图的最小的字典序序列。注意图可能有重复边和自环。解析这题主要是处理字典序以及重复边两个问题:字典序可以用优先队列或者TreeSet来搞定;重复边利用Set去重即可,如...

2019-02-02 10:14:19 769

原创 Codeforces - 1106B. Lunar New Year and Food Ordering (模拟)

Codeforces - 1106B. Lunar New Year and Food Ordering (模拟)题目链接题目一个饭店,有n种食物,每种食物一开始的数量存在rc数组中,每种食物每一份的花费存在sc数组中,然后给你m个顾客,每一个顾客点餐,给你两个数t、d,代表的意思是点d份t食物,点的规则如下:如果t食物还够d份,就点d份t食物,并将t食物的剩余数量更新;如果t食物不够...

2019-02-01 22:19:27 348

原创 LeetCode - 4. Median of Two Sorted Arrays(二分)

LeetCode - 4. Median of Two Sorted Arrays(二分)题目链接题目解析假设两个数组的中间位置为k,其中k=(n1 + n2 + 1)/2,只要找到中间位置这个值,也就找到了中位数,所以我们可以把问题转换成查找两个数组中第 k 大的数。如果是总数是偶数,那么如下图,我们的中位数肯定是(Ck-1 + CK) / 2;而Ck-1 = max(Am1 - ...

2019-02-01 13:05:21 243

原创 Codeforces - 1108C. Nice Garland & 1108D. Diverse Garland(排列 | 枚举 )

Codeforces - 1108C. Nice Garland & 1108D. Diverse Garland(排列 | 枚举 )Codeforces - 1108C. Nice GarlandCodeforces - 1108D. Diverse Garland Codeforces - 1108C. Nice Garland题目链接题目给你n个有n个字符的字符...

2019-01-31 22:40:45 1120

原创 LeetCode - 169. Majority Element (计数 + 位运算 + Partition + 分治)

LeetCode - 169. Majority Element (计数 + 位运算 + Partition + 分治)直接排序HashMap计数利用二进制位运算维护更新方法利用快排的Partition分治方法题目链接题目直接排序方法一: 直接排序,取中间的数,最简单的方法。class Solution{ public int majorityElement...

2019-01-30 21:35:06 828 1

原创 LeetCode - 719. Find K-th Smallest Pair Distance(暴力 | 二分)

LeetCode - 719. Find K-th Smallest Pair Distance(暴力 | 二分)题目链接题目解析import java.io.*;import java.util.*;class Solution { // find K-th Smallest Pair Distance public int smallestDistanceP...

2019-01-30 09:26:35 285

原创 Codeforces - 1107B. Digital root & 1107C. Brutality(规律 & 贪心)

Codeforces - 1107B. Digital root & 1107C. Brutality(规律 & 贪心)Codeforces - 1107B. Digital rootCodeforces - 1107C. BrutalityCodeforces - 1107B. Digital root题目链接题目一个数x的数根的定义S(x)是如题目中给出的样子...

2019-01-29 21:11:35 753

原创 LeetCode - 621. Task Scheduler(贪心)

LeetCode - 621. Task Scheduler(贪心)题目链接题目解析// class Solution {// public int leastInterval(char[] tasks, int n) {// HashMap<Character, Integer> counts = new HashMap<>();...

2019-01-29 13:50:45 716

原创 LeetCode - 692. Top K Frequent Words & 347. Top K Frequent Elements (堆 | 桶)

LeetCode - 692. Top K Frequent Words & 347. Top K Frequent Elements (堆 | 桶)LeetCode - 692. Top K Frequent WordsLeetCode - 347. Top K Frequent ElementsLeetCode - 692. Top K Frequent Words题目...

2019-01-26 22:44:16 301

原创 LeetCode - 149. Max Points on a Line(哈希表 、数学)

LeetCode - 149. Max Points on a Line(哈希表 、数学)题目链接题目解析此题的做法其实就是暴力统计(O(N^2)):每次枚举一个点,看其他点和这个点构成的斜率((y2 - y1) / (x2 - x1))有多少个是相同的,如果有k个相同的斜率,则有k+1个这样的点;但是这一题还需要额外处理可能有相同的点(使用overlap变量统计即可);这题...

2019-01-26 10:07:34 409

原创 LeetCode - 37.Sudoku Solver (DFS、回溯)

LeetCode - 37.Sudoku Solver (DFS、回溯)题目链接题目解析这个题目和N皇后问题很像:N皇后问题的数组标记法中用三个数组标记列、主对角线、副对角线是否已经摆法了皇后,这里同样也需要用三个二维数组来标记之前是否已经摆放(求解)了数字。使用三个数组标记之后,然后就是递归去尝试求解了。一开始将不是.的先标记已经放置了(置为true),然后递归求解即可,...

2019-01-25 12:55:08 298

原创 LeetCode - 40. Combination Sum II && LeetCode - 216. Combination Sum III (DFS)

LeetCode - 40. Combination Sum II && LeetCode - 216. Combination Sum III (DFS)LeetCode - 40. Combination Sum IILeetCode - 216. Combination Sum IIILeetCode - 40. Combination Sum II题目链接...

2019-01-25 09:39:46 302

原创 LeetCode - 56.Merge Intervals & LeetCode - 57.Insert Interval (贪心、插入排序)

LeetCode - 56.Merge Intervals & LeetCode - 57.Insert Interval (贪心、插入排序)LeetCode - 56.Merge IntervalsLeetCode - 57.Insert IntervalLeetCode - 56.Merge Intervals题目链接题目解析这题一看就是贪心的题目:对这些区间...

2019-01-24 21:34:16 347

原创 Codeforces - 607B.Zuma (DP)

Codeforces - 607B.Zuma (DP)题目链接题目给你一个n和一个有n个元素的数组,你每次可以拿走一个连续的子串,如果这个串是回文串,则拿走的花费为1,然后剩下的连接起来,问你拿完整个串的最小花费。解析感觉和真正的祖玛游戏还是有点差别,或者说一开始有点小小的误解。这个题目说的是回文串的花费为1,所以我们是要尽可能的去找回文串。递归的思路:递归函数参数是串的两个端...

2019-01-24 10:32:56 297

原创 LeetCode - 488. Zuma Game (DFS)

LeetCode - 488. Zuma Game (DFS)题目链接题目解析看题目中的三个例子:DFS过程:先用一个map保存hand字符串中每种颜色的个数;dfs过程,遍历当前board字符串,逐个去寻找一段连续的相同的球,如果这段相同的球在map中还可以提供足够的消去的球,就先消去,这里需要消耗3 - (j - i)个球(具体看代码);然后先去递归消去剩下的(由elim...

2019-01-23 22:29:46 983

原创 LeetCode - 39. Combination Sum (组合总和 | dfs)

LeetCode - 39. Combination Sum (组合总和 | dfs)使用used数组和dfs排列数

2019-01-22 21:01:20 260

原创 LeetCode - 128. Longest Consecutive Sequence (哈希表)

LeetCode - 128. Longest Consecutive Sequence (哈希表)题目链接题目解析第一种方法:使用一个HashSet来存储对应的值,一开始先将所有的值都加入set;遍历数组的每一个元素,每次去检查当前元素num的前一个元素num - 1是不是在set中,如果是,说明num不是最长长度的起点,跳过;如果不是,则在set集合中不断的每次+1...

2019-01-22 11:33:01 280

原创 LeetCode - 688. Knight Probability in Chessboard (DP)

LeetCode - 688. Knight Probability in Chessboard (DP)题目链接题目解析思路:当前的步数以及当前的位置,可以由上一个可以走到当前位置的位置走到当前位置,如果没有越界,总共有8个这样的上一个位置。看题目中的例子:于是如果是递归求解:则当前递归层依赖的是上一层(k-1)的8种位置的方法数量的和;概率就是到第k层的时候的方法数 ...

2019-01-21 21:59:41 481

原创 LeetCode - 687. Longest Univalue Path (树的最长同值路径)

LeetCode - 687. Longest Univalue Path (树的最长同值路径)题目链接题目解析这个题目虽然不难,但是一开始还是没有注意细节:一开始递归函数就是考虑先递归求出左右孩子的最长同值路径;然后如果左孩子和右孩子和自己相同,就更新当前节点返回的最长同值路径;最终答案就是返回以根节点的最长同值路径;但是这种思路对于部分情况是错误的,见下图,因为这里的路径...

2019-01-18 11:05:27 193

原创 Codeforces - 118D. Caesar's Legions | TimusOJ - 2018. The Debut Album (DP)

Codeforces - 118D. Caesar’s Legions | TimusOJ - 2018. The Debut Album (DP)Codeforces - 118D. Caesar’s LegionsTimusOJ - 2018. The Debut AlbumCodeforces - 118D. Caesar’s Legions题目链接题目给你四个数N1、N2...

2019-01-17 20:04:17 286

原创 LeetCode - 678. Valid Parenthesis String (DP | 思维)

LeetCode - 678. Valid Parenthesis String (DP | 思维)DP思维题目链接题目解析这个题目有很多种解法。是一道练思维的好题。DP记忆化的思路:递归函数recur求[L, R]范围内的字符串是否可以构成解,答案是recur(0, n-1);递归终止条件是L == R,如果此时chs[L] == '*',则按照题目要求是返回tru...

2019-01-17 13:17:41 241

原创 LintCode - 861. K Empty Slots (BST | 桶)

LintCode - 861. K Empty Slots (BST | 桶)题目链接题目解析一开始的傻逼的想法。。。O(N ^ 4) -> TLE。public class Solution { public int kEmptySlots(int[] flowers, int k) { if(flowers == null || flowers.le...

2019-01-16 15:23:29 315

原创 LeetCode - 684. Redundant Connection (DFS | 并查集)

LeetCode - 684. Redundant Connection (DFS | 并查集)DFS并查集题目链接题目DFS思路:每次添加一条边,然后判断加上这条边之后会不会构成环;判断一个图有没有环用dfs,这里需要维护一个pre变量,表示上次访问的节点,然后使用vis数组标记以及访问的节点,如果再次访问到,就表明有环了;class Solution { ...

2019-01-14 20:07:31 738 1

原创 LeetCode - 127. Word Ladder & 126 (BFS)

LeetCode - 127. Word Ladder & 126 (BFS)LeetCode - 127. Word LadderLeetCode - 126. Word LadderIILeetCode - 127. Word Ladder题目链接题目解析两种解法: 单向BFS和双向BFS(Bidrectional BFS)。单向BFS:首先将wordDic...

2019-01-14 16:57:42 450

原创 LintCode - 862. Next Closest Time (暴力 | DFS)

LintCode - 862. Next Closest Time (暴力 | DFS)暴力DFS题目链接题目暴力解法暴力的解法就是,枚举所有的可能:每次累加一分钟 ,然后检查所有的数字是不是都在原来的数字中;如果是就可以break,因为注意题目说的是下一个最近的时间,不能往前面推;public class Solution { public String n...

2019-01-13 10:18:00 221

原创 Codeforces - 977F. Consecutive Subsequence( Map + DP) & 1097B. Petr and a Combination Lock(枚举)

Codeforces - 977F. Consecutive Subsequence( Map + DP) & 1097B. Petr and a Combination Lock(枚举)Codeforces - 977F. Consecutive Subsequence( Map + DP) Codeforces - 1097B. Petr and a Combination Lo...

2019-01-12 12:13:04 476 1

原创 LeetCode - 664. Strange Printer(DP)

LeetCode - 664. Strange Printer(DP)题目链接题目解析递归思路:当前递归函数求解[i ~ j]范围的最小打印次数;则我们需要在[i, j )中寻找一个k,其中s[k] == s[j],此时[k ~ j]范围内的字符可以一次打印,所以这样可以优化,所以我们要去在所以的k && s[k] == s[j]中取一个最小的,然后去递归[i, k...

2019-01-10 23:11:47 303

原创 TimusOJ - 1225.Flags & 1119.Metr & 1009.K-based Numbers (DP简单题)

TimusOJ - 1225.Flags & 1119.Metr & 1009.K-based Numbers (DP简单题)TimusOJ - 1225.FlagsTimusOJ - 1119.MetrTimusOJ - 1009.K-based NumbersTimusOJ - 1225.Flags题目链接题目给你三种颜色,输入n代表的是长方形数,向这些...

2019-01-10 21:14:13 226

原创 LeetCode - 221. Maximal Square(求最大的全是1的正方形)

LeetCode - 221. Maximal Square(求最大的全是1的正方形)暴力 (O(N^5))改进动态规划(O(N^3))优化动态规划(O(N^2))题目链接题目暴力 (O(N^5))暴力O(N) * O(M) * O(min(N , M)) * O(N) * O(M),也就是O(N^5),但是也能通过…枚举0 ~ n和0 ~ m,然后枚举这个范围内的所有正...

2019-01-09 14:55:30 539

原创 TimusOJ - 1353. Milliard Vasya's Function(DP)

TimusOJ - 1353. Milliard Vasya’s Function(DP)题目链接题目求1到109 ( [1, 109] )中各位数字之和为S的数有多少个;解析这个题目和LeetCode - 518. Coin Change 2非常的相似。递归(记忆化)的写法:总共需要9位数字,我们就去递归每一个位置可以累加0 ~ 9之间的数;递归终止条件就是当够了9个数字的时...

2019-01-08 22:33:45 222

原创 LeetCode - 680. Valid Palindrome II(删除一个字符判断能否构成回文)

LeetCode - 680. Valid Palindrome II(删除一个字符判断能否构成回文)题目链接题目就是给你一个字符串,问你是否能删除最多一个字符(可以不用删除) ,得到一个回文串。解析暴力枚举删除每一个位置的方法肯定是行不通的。这里需要用到回文串的性质。看下面两个例子:案例一: e a d c b c a e另一种情况:e a b f f b e a e...

2019-01-07 22:57:41 1244

原创 LeetCode - 381. Insert Delete GetRandom O(1) - Duplicates allowed(允许重复)

LeetCode - 381. Insert Delete GetRandom O(1) - Duplicates allowed(允许重复)题目链接题目解析做这题之前先做LeetCode - 380。这一题加上了可以加入重复的元素,题目就变得复杂了一些。大体思路还是使用HashMap + ArrayList,只不过Map是HashMap<Integer, ArrayList...

2019-01-07 22:06:15 395

原创 LeetCode - 380. Insert Delete GetRandom O(1) (常数时间插入、删除和获取随机元素)

LeetCode - 380. Insert Delete GetRandom O(1) (常数时间插入、删除和获取随机元素)HashMap + List 实现两个HashMap实现题目链接题目HashMap + List 实现解析:准备一个HashMap和一个List容器,HashMap存放val到index的映射,List容器中存放val集合;insert(): 将...

2019-01-07 20:09:36 329

北京动力节点-专题02-JavaWeb开发基础

北京动力节点-专题02-JavaWeb开发基础PDF 资源课件详细

2018-08-04

北京动力节点_Redis课程_杨利军

北京动力节点_Redis课程_杨利军完整的思维导图资源完整的Redis知识总结

2018-08-04

LeetCodeJava版题解

LeetCodeJava版优秀详细解答,完整详细的文字和代码的描述

2018-08-04

空空如也

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

TA关注的人

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