自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

博客已搬家到GitHub,欢迎star^_^

博客已搬家到 https://github.com/ZXZxin/ZXNotes/ ,欢迎star^_^

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

2018-10-23 11:17:14 3263 0

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

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

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

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

目录 哈夫曼树的构造 哈夫曼编码的构造 哈夫曼树的构造 首先给出树的几个概念: 路径:从树种一个结点到另一个结点之间的分支构成这两个结点之间的路径,路径上的分支数目称作路径长度。 树的路径长度:从树根到每一个结点的路径长...

2018-04-21 10:02:20 2243 0

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

目录 大数 二分 枚举排列 子集生成 n皇后回溯 并查集 树状数组 KMP,Sunday,BM 01背包,完全背包 最长(不)上升或下降子序列 最长公共子序列 拓扑排序 欧拉路径和回路 搜索 最小生成树 最短路 GCD和LCM 埃拉托斯特尼筛法 唯一分...

2018-04-08 17:15:03 11593 6

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

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

2018-04-05 20:28:39 4240 2

原创 两题解析

解析 一、第一题 题目: 有n个人围成一圈,顺序排号。从第一个人开始报数报到第K个数,该人退出圈子,问最后留下的是原来第几号的那位。 例:1、2、3、4、5、6、7、8、9 K=3,结果1号留下 1、解法1 - 使用双向环形链表模拟 思路: 就是先构造一个环形链表,然后每次遍历到k个数的时候...

2019-04-25 09:39:47 127 0

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

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

2019-02-02 21:53:33 179 0

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

Codeforces - 1106D. Lunar New Year and a Wander(图简单题) 题目链接 题目 给你一张图,n、m分别代表n个顶点和m条边,然后给你无向图的m条边,要你从1开始,找到一个遍历图的最小的字典序序列。注意图可能有重复边和自环。 解析 这题主要是处理字典...

2019-02-02 10:14:19 350 0

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

Codeforces - 1106B. Lunar New Year and Food Ordering (模拟) 题目链接 题目 一个饭店,有n种食物,每种食物一开始的数量存在rc数组中,每种食物每一份的花费存在sc数组中,然后给你m个顾客,每一个顾客点餐,给你两个数t、d,代表的意思是点d份t...

2019-02-01 22:19:27 127 0

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

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

2019-02-01 13:05:21 119 0

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

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

2019-01-31 22:40:45 385 0

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

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

2019-01-30 21:35:06 446 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 Smal...

2019-01-30 09:26:35 139 0

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

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

2019-01-29 21:11:35 350 0

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

LeetCode - 621. Task Scheduler(贪心) 题目链接 题目 解析 // class Solution { // public int leastInterval(char[] tasks, int n) { // HashMap&am...

2019-01-29 13:50:45 294 0

原创 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 Words LeetCode - 347...

2019-01-26 22:44:16 140 0

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

LeetCode - 149. Max Points on a Line(哈希表 、数学) 题目链接 题目 解析 此题的做法其实就是暴力统计(O(N^2)): 每次枚举一个点,看其他点和这个点构成的斜率((y2 - y1) / (x2 - x1))有多少个是相同的,如果有k个相同的斜率,则有k...

2019-01-26 10:07:34 156 0

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

LeetCode - 37.Sudoku Solver (DFS、回溯) 题目链接 题目 解析 这个题目和N皇后问题很像: N皇后问题的数组标记法中用三个数组标记列、主对角线、副对角线是否已经摆法了皇后,这里同样也需要用三个二维数组来标记之前是否已经摆放(求解)了数字。 使用三个数组标...

2019-01-25 12:55:08 130 0

原创 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 II LeetCode -...

2019-01-25 09:39:46 164 0

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

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

2019-01-24 21:34:16 157 0

原创 Codeforces - 607B.Zuma (DP)

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

2019-01-24 10:32:56 85 0

原创 LeetCode - 488. Zuma Game (DFS)

LeetCode - 488. Zuma Game (DFS) 题目链接 题目 解析 看题目中的三个例子: DFS过程: 先用一个map保存hand字符串中每种颜色的个数; dfs过程,遍历当前board字符串,逐个去寻找一段连续的相同的球,如果这段相同的球在map中还可以提供足够的消去的球...

2019-01-23 22:29:46 462 0

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

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

2019-01-22 21:01:20 125 0

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

LeetCode - 128. Longest Consecutive Sequence (哈希表) 题目链接 题目 解析 第一种方法: 使用一个HashSet来存储对应的值,一开始先将所有的值都加入set; 遍历数组的每一个元素,每次去检查当前元素num的前一个元素num - 1是不是...

2019-01-22 11:33:01 107 0

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

LeetCode - 688. Knight Probability in Chessboard (DP) 题目链接 题目 解析 思路: 当前的步数以及当前的位置,可以由上一个可以走到当前位置的位置走到当前位置,如果没有越界,总共有8个这样的上一个位置。 看题目中的例子: 于是如果是递归求解:...

2019-01-21 21:59:41 285 0

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

LeetCode - 687. Longest Univalue Path (树的最长同值路径) 题目链接 题目 解析 这个题目虽然不难,但是一开始还是没有注意细节: 一开始递归函数就是考虑先递归求出左右孩子的最长同值路径; 然后如果左孩子和右孩子和自己相同,就更新当前节点返回的最长同值路径;...

2019-01-18 11:05:27 81 0

原创 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 Legions TimusOJ - 2018. The Debut Album Cod...

2019-01-17 20:04:17 135 0

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

LeetCode - 678. Valid Parenthesis String (DP | 思维) DP 思维 题目链接 题目 解析 这个题目有很多种解法。是一道练思维的好题。 DP 记忆化的思路: 递归函数recur求[L, R]范围内的字符串是否可以构成解,答案是recur(0, ...

2019-01-17 13:17:41 92 0

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

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

2019-01-16 15:23:29 126 0

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

LeetCode - 684. Redundant Connection (DFS | 并查集) DFS 并查集 题目链接 题目 DFS 思路: 每次添加一条边,然后判断加上这条边之后会不会构成环; 判断一个图有没有环用dfs,这里需要维护一个pre变量,表示上次访问的节点,然后使用vi...

2019-01-14 20:07:31 288 0

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

LeetCode - 127. Word Ladder & 126 (BFS) LeetCode - 127. Word Ladder LeetCode - 126. Word LadderII LeetCode - 127. Word Ladder 题目链接 题目 ...

2019-01-14 16:57:42 196 0

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

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

2019-01-13 10:18:00 74 0

原创 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 Subsequenc...

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

原创 LeetCode - 664. Strange Printer(DP)

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

2019-01-10 23:11:47 152 0

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

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

2019-01-10 21:14:13 80 0

原创 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) * ...

2019-01-09 14:55:30 216 0

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

TimusOJ - 1353. Milliard Vasya’s Function(DP) 题目链接 题目 求1到109 ( [1, 109] )中各位数字之和为S的数有多少个; 解析 这个题目和LeetCode - 518. Coin Change 2非常的相似。 递归(记忆化)的写法: 总...

2019-01-08 22:33:45 123 0

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

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

2019-01-07 22:57:41 246 0

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

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

2019-01-07 22:06:15 237 0

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

LeetCode - 380. Insert Delete GetRandom O(1) (常数时间插入、删除和获取随机元素) HashMap + List 实现 两个HashMap实现 题目链接 题目 HashMap + List 实现 解析: 准备一个HashMap和一个List容...

2019-01-07 20:09:36 175 0

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