- 博客(7)
- 资源 (10)
- 收藏
- 关注
原创 <LeetCode>783. 二叉搜索树结点最小距离
给定一个二叉搜索树的根结点 root, 返回树中任意两节点的差的最小值。示例:输入: root = [4,2,6,1,3,null,null]输出: 1解释:注意,root是树结点对象(TreeNode object),而不是数组。给定的树 [4,2,6,1,3,null,null] 可表示为下图: 4 / \ 2 6 ...
2018-05-16 22:18:40 1632
原创 <LeetCode>56. 合并区间
给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。/** * Def...
2018-05-16 12:17:10 364
原创 <LeetCode>583. 两个字符串的删除操作
给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。示例 1:输入: "sea", "eat"输出: 2解释: 第一步将"sea"变为"ea",第二步将"eat"变为"ea"说明:给定单词的长度不超过500。给定单词中的字符只含有小写字母。实际上就是求字符串的最长子序列。(注意,子串和子序列的区别
2018-05-14 11:27:55 1142
原创 可能是你最容易看明白的快速排序(C++实现)
我认为现在CSDN大多关于快速排序的程序都是在扯淡。不是针对某一位,我是说,我看到CSDN的C++快排程序都是扯淡。他们根本没有把重点放在快速排序本身,为什么我这么说?我们往下看。快排的本质思想就是分而治之。举例说明,我们要对3 5 2 1 4进行排序。首先我们选中一个数字当做是pivot,就是支点啦,然后我们把所有比pivot小的都放在左边,比他大的放在右边。我们这里把数字2当做pivot。(1...
2018-05-07 23:02:11 14608 1
原创 <LeetCode>621. 任务调度器
给定一个用字符数组表示的 CPU 需要执行的任务列表。其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。CPU 在任何一个单位时间内都可以执行一个任务,或者在待命状态。然而,两个相同种类的任务之间必须有长度为 n 的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执行不同的任务,或者在待命状态。你需要计算完...
2018-05-04 22:47:31 1587
原创 <LeetCode>70. 爬楼梯
假设你正在爬楼梯。需要 n 步你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 步 + 1 步2. 2 步示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 步 + 1 步 + 1 步2. 1 步 + 2 步3. ...
2018-05-03 13:13:13 257
原创 <LeetCode>46. 全排列
给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]解法一:class Solution {public: vector<vector<int>> permute(vector<int&...
2018-05-01 19:30:04 538
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人