自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

迷路剑客个人博客

弱小和无知不是生存的障碍,傲慢才是。

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

原创 算法-并查集/DFS/BFS-朋友圈

算法-并查集/DFS/BFS-朋友圈1 题目概述1.1 题目出处https://leetcode-cn.com/problems/friend-circles/1.2 题目描述班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个学生互

2020-05-31 23:50:00 683

原创 算法-数据结构-实现 Trie (前缀树)

算法-数据结构-实现 Trie (前缀树)1 题目概述1.1 题目出处https://leetcode-cn.com/problems/implement-trie-prefix-tree/1.2 题目描述实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。示例:Trie trie = new Trie();trie.insert(“apple”);trie.search(“apple”); // 返回 truetrie.sea

2020-05-29 15:40:58 227

原创 算法-动态规划-地下城游戏

算法-动态规划-地下城游戏1 题目概述1.1 题目出处https://leetcode-cn.com/problems/dungeon-game/1.2 题目描述一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数

2020-05-28 00:12:27 634

原创 算法-动态规划-最小路径和

算法-动态规划-最小路径和1 题目概述1.1 题目出处https://leetcode-cn.com/problems/minimum-path-sum/1.2 题目描述给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) 。进阶: 你能将算法的

2020-05-27 17:27:29 364

原创 算法-动态规划-最长上升子序列

算法-动态规划-最长上升子序列1 题目概述1.1 题目出处https://leetcode-cn.com/problems/longest-increasing-subsequence/1.2 题目描述给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(

2020-05-27 15:35:36 203

原创 算法-动态规划-三角形最小路径和

算法-动态规划-三角形最小路径和1 题目概述1.1 题目出处https://leetcode-cn.com/problems/triangle/1.2 题目描述给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。例如,给定三角形:[[2],[3,4],[6,5,7],[4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 =

2020-05-26 14:22:58 316

原创 算法-回溯法/动态规划-零钱兑换

算法-动态规划-零钱兑换1 题目概述1.1 题目出处https://leetcode-cn.com/problems/coin-change/1.2 题目描述给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2],

2020-05-26 00:09:18 1896

原创 算法-动态规划-最大子序和

算法-动态规划-最大子序和1 题目概述1.1 题目出处https://leetcode-cn.com/problems/maximum-subarray/1.2 题目描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。2 暴

2020-05-25 16:38:08 185

原创 算法-动态规划-打家劫舍2

算法-动态规划-打家劫舍21 题目概述1.1 题目出处https://leetcode-cn.com/problems/house-robber-ii/1.2 题目描述你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额

2020-05-25 15:54:51 271

原创 算法-动态规划-打家劫舍

算法-动态规划-打家劫舍1 题目概述1.1 题目出处https://leetcode-cn.com/problems/house-robber/1.2 题目描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释

2020-05-25 15:09:24 169

原创 算法-搜索-接雨水2

算法-搜索-接雨水21 题目概述1.1 题目出处https://leetcode-cn.com/problems/trapping-rain-water-ii1.2 题目描述给你一个 m x n 的矩阵,其中的值均为非负整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水。示例:给出如下 3x6 的高度图:[[1,4,3,1,3,2],[3,2,1,3,2,4],[2,3,3,2,3,1]]返回 4 。如上图所示,这是下雨前的高度图[[1,4,3,1,3,2

2020-05-25 12:55:00 658 1

转载 分布式-协议

分布式-协议转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:图解:什么是Raft算法?作者: 无敌码农分布式一致性算法 Paxos是什么梗?作者: 无敌码农Raft Vs Zab作者: 黄靠谱1 概述本文主要讨论分布式协议,包括Paxos、Raft、Zab等。2 Paxos2.1 概述像 2PC 和 3PC 都需要引入一个协调者的角色,当协调者 down 掉之后,整个事务都无法提交,参与者的资源都出于锁定的状态,对于系统的影响是灾难性

2020-05-20 12:45:02 1409

转载 数据结构-BitSet和RoaringBitmap

数据结构-BitSet和RoaringBitmap转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:RoaringBitmap数据结构及原理作者:yizishou出处:csdn谈谈Roaring Bitmap作者:TheLudlows出处:csdnBitSet的使用场景及简单示例作者:cloud-coder出处:OSCHINA1 BitMap1.1 简介BitMap/BitSet被广泛的应用于数据查询中,但其由于数据稀疏造成的内

2020-05-19 12:23:04 1416

转载 数据仓库-拉链表, 流水表, 全量表, 增量表, 切片表

数据仓库-拉链表,流水表,全量表,增量表转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:数据仓库中的增量表,全量表,快照表,拉链表作者:北京小辉出处:csdn什么是全量表,增量表,快照表,拉链表?作者:泽米出处:csdn一文搞定数据仓库之拉链表,流水表,全量表,增量表作者:mtj66出处:csdn数据仓库中的全量表,增量表,拉链表,流水表及快照表作者:大数据私房菜出处:csdn1 增量表1.1 概念增量表:新增数

2020-05-18 17:00:33 10683 1

转载 分布式ID生成器

分布式ID生成器转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:五大分布式ID生成器优缺点简单对比作者:业余草出处:无敌码农1 概述首先,不管是不是分布式系统,都有 ID 唯一的使用场景。而在分布式场景下,对 ID 的唯一性要求更严格!常见的,我们上淘宝买东西的订单 ID,就是一种分布式 ID。淘宝订单 18 位。分布式ID思维导图如下:以我们公司的订单 ID 为例,它有这几个特点。ID 全局唯一,不会重复ID 的增长支持分布式使用ID

2020-05-18 12:53:39 323

原创 算法-搜索-接雨水

算法-搜索-接雨水1 题目概述1.1 题目出处https://leetcode-cn.com/problems/trapping-rain-water/1.2 题目描述给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,

2020-05-15 14:02:57 162

转载 网络-单播、多播(组播)和广播的区别

网络-单播、多播(组播)和广播的区别转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:单播、多播(组播)和广播的区别作者:Roger Luocnblogs带你走进网络世界:广播风暴作者:网络技术栈出处:百家号1 概述单播(Unicast)、“多播/组播”(Multicast)和“广播”(Broadcast)这三个术语都是用来描述网络节点之间通讯方式的术语。那么这些术语究竟是什么意思?区别何在?2 单播2.1 概念网络节点之间的通信就好像

2020-05-15 11:12:08 15174

原创 算法-回溯-火柴拼正方形

算法-回溯-火柴拼正方形1 题目概述1.1 题目出处https://leetcode-cn.com/problems/matchsticks-to-square/1.2 题目描述还记得童话《卖火柴的小女孩》吗?现在,你知道小女孩有多少根火柴,请找出一种能使用所有火柴拼成一个正方形的方法。不能折断火柴,可以把火柴连接起来,并且每根火柴都要用到。输入为小女孩拥有火柴的数目,每根火柴用其长度表示。输出即为是否能用所有的火柴拼成正方形。示例 1:输入: [1,1,2,2,2]输出: true解释

2020-05-14 14:33:23 1241

原创 算法-图BFS-单词接龙2

算法-图BFS-单词接龙21 题目概述1.1 题目出处https://leetcode-cn.com/problems/word-ladder-ii/1.2 题目描述给定两个单词(beginWord 和 endWord)和一个字典 wordList,找出所有从 beginWord 到 endWord 的最短转换序列。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回一个空列表。所有单词具有相同的长度。所有单词只由小

2020-05-13 17:26:02 284

原创 算法-图BFS-单词接龙

算法-图BFS-单词接龙1 题目概述1.1 题目出处https://leetcode-cn.com/problems/word-ladder/1.2 题目描述给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在重复

2020-05-13 11:26:54 259

转载 算法-并查集

算法-并查集转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:超有爱的并查集~作者:飘过的小牛出处:csdn1 例子杭电上的畅通工程首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点,让你判断它们是否连通,或者问你整幅图一共有几个连通分支,也就是被分成了几个互相独立的块。像畅通工程这题,问还需要修几条路,实质就是求有几个连通分支。如果是1个连通分支,说明整幅

2020-05-12 17:54:57 283

原创 算法-图/DFS/BFS/并查集-岛屿数量

算法-图/DFS-课程表1 题目概述1.1 题目出处https://leetcode-cn.com/problems/number-of-islands1.2 题目描述给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:1100011000

2020-05-12 12:17:28 373

原创 算法-滑动窗口-最小覆盖子串

算法-滑动窗口-最小覆盖子串1 概述1.1 题目出处https://leetcode-cn.com/problems/minimum-window-substring/1.2 题目描述给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字符的最小子串。示例:输入: S = “ADOBECODEBANC”, T = “ABC”输出: “BANC”说明:如果 S 中不存这样的子串,则返回空字符串 “”。如果 S 中存在这样的子串,我们保证它是唯一的答案。2 可扩大

2020-05-12 10:17:55 325

转载 多用户与多租户的区别

多用户与多租户的区别转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:多用户与多租户的区别作者:满城风絮2013出处:cnblogs看图秒懂多租户,形象具体!作者:openfea出处:csdn如何理解多租户架构?作者:平凡21出处:cnblogs1 多用户现代软件一般属于多用户的应用,也就是说,同一台机器同一套软件可以为多个用户建立各自的账户,也允许拥有这些账户的用户同时登录这台计算机。这就涉及到计算机用户和资源的管理。简单地说就

2020-05-11 17:42:27 5268

原创 算法-Hash+滑动窗口/按位编码-重复的DNA序列

算法-Hash+滑动窗口-重复的DNA序列1 概述1.1 题目出处https://leetcode-cn.com/problems/repeated-dna-sequences/1.2 题目描述所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。编写一个函数来查找 DNA 分子中所有出现超过一次的 10 个字母长的序列(子串)。示例:输入:s = “AAAAACCCCCAAAA

2020-05-11 12:53:57 417

原创 算法-水位-无重复字符的最长子序列

算法-水位-无重复字符的最长子串1 概述1.1 题目出处https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/1.2 题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是

2020-05-11 11:58:16 297

原创 算法-Hash/BitSet-字母异位词分组

算法-Hash/BitSet-字母异位词分组1 题目概述1.1 题目出处https://leetcode-cn.com/problems/group-anagrams/1.2 题目描述给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]说明:所有输入均为小

2020-05-11 11:18:35 209

原创 算法-Hash-单词规律

算法-Hash-单词规律1 题目概述1.1 题目出处https://leetcode-cn.com/problems/word-pattern/1.2 题目描述给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern = “abba”, str = “dog cat cat dog”输出: true示例

2020-05-10 14:20:05 200

原创 算法-Hash-回文

算法-Hash-回文1 题目概述1.1 题目出处https://leetcode-cn.com/problems/longest-palindrome1.2 题目描述给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1:输入:“abccccdd”输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。2 H

2020-05-10 13:29:49 292

原创 算法-二叉树-序列化和反序列化二叉搜索树

算法-二叉树-序列化和反序列化二叉搜索树1 题目概述1.1 题目出处https://leetcode-cn.com/problems/serialize-and-deserialize-bst/1.2 题目描述序列化是将数据结构或对象转换为一系列位的过程,以便它可以存储在文件或内存缓冲区中,或通过网络连接链路传输,以便稍后在同一个或另一个计算机环境中重建。设计一个算法来序列化和反序列化二叉搜索树。 对序列化/反序列化算法的工作方式没有限制。 您只需确保二叉搜索树可以序列化为字符串,并且可以将该字

2020-05-10 00:04:58 385

转载 开源项目-如何在贡献开源项目的过程中提升自己

开源项目-如何在贡献开源项目的过程中提升自己转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:如何在贡献开源项目的过程中提升自己的技术势力作者:Sergey Bronnikov出处:Gitee引言我今年不知是机缘巧合,还是所谓的注定,有多次机会和大家讲《开发者与开源社区的关系》的演讲。那么开源的生产方式,是高效的、高质量的,那么这些是怎么来的呢?其中,人是最主要的,那么我谈到的开发者是广义的开发者,包括项目生产过程中全部的过程参与者。那么从小白该如何晋级为高手

2020-05-09 15:26:29 412

原创 算法-二分查找

算法-二分查找1 搜索插入位置1.1 题目出处https://leetcode-cn.com/problems/search-insert-position/1.2 题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 ...

2020-05-08 11:38:36 201

原创 算法-图-课程表

算法-图-课程表1 题目概述1.1 题目出处https://leetcode-cn.com/problems/course-schedule1.2 题目描述你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]给定课程总量以及它...

2020-05-07 14:53:48 499

原创 算法-BFS-二叉树的右视图

二叉树的右视图1 题目概述1.1 题目出处https://leetcode-cn.com/problems/binary-tree-right-side-view/1.2 题目描述给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释: 1 ...

2020-05-06 21:29:55 207

原创 二叉树展开为链表

二叉树展开为链表1 题目概述1.1 题目出处https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/1.2 题目描述给定一个二叉树,原地将它展开为链表。例如,给定二叉树 1 / \ 2 5 / \ \3 4 6将其展开为:1 \ 2 \ 3 ...

2020-05-06 18:54:48 168

原创 算法-二叉树/DFS-二叉树的最近公共祖先

二叉树的最近公共祖先1 题目概述1.1 题目出处https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/1.2 题目描述给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q...

2020-05-06 13:17:09 245

原创 算法-回溯/二叉树-路径总和 II

1 题目概述1.1 题目出处https://leetcode-cn.com/problems/n-queens/1.2 题目描述给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 ...

2020-05-04 09:03:21 330 1

空空如也

空空如也

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

TA关注的人

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