自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ww的博客

既然总有人会成功,那为什么不能是我哪?

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

原创 一生万物——RADOS导论 [ceph(一)]

RADOS详解

2020-03-01 15:48:49 2618 5

原创 LeetCode-1600. 皇位继承顺序

题目描述:一个王国里住着国王、他的孩子们、他的孙子们等等。每一个时间点,这个家庭里有人出生也有人死亡。这个王国有一个明确规定的皇位继承顺序,第一继承人总是国王自己。我们定义递归函数 Successor(x, curOrder) ,给定一个人 x 和当前的继承顺序,该函数返回 x 的下一继承人。Successor(x, curOrder):如果 x 没有孩子或者所有 x 的孩子都在 curOrder 中:如果 x 是国王,那么返回 null否则,返回 Successor(x 的父亲, curOrd

2021-06-29 00:42:03 218

原创 LeetCode-3. 无重复字符的最长子串

题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个

2021-06-29 00:30:59 239

原创 LeetCode-剑指 Offer 38. 字符串的排列

题目描述:输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例:输入:s = “abc”输出:[“abc”,“acb”,“bac”,“bca”,“cab”,“cba”]限制:1 <= s 的长度 <= 8解题思路:利用dfs枚举每个位置即可.先遍历一遍整个字符串, 用map<string,int>记录出现的字符以及字符的个数.这里需要的注意的, 和之前dfs不同的是 这里要增加一个恢复现场的步骤.

2021-06-24 23:31:06 297 4

原创 LeetCode-2. 两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9,9], l2 =

2021-06-24 22:23:26 121

原创 [LeetCode]1239. 串联字符串的最大长度

题目描述:给定一个字符串数组 arr,字符串 s 是将 arr 某一子序列字符串连接所得的字符串,如果 s 中的每一个字符都只出现过一次,那么它就是一个可行解。请返回所有可行解 s 中最长长度。示例 1:输入:arr = [“un”,“iq”,“ue”]输出:4解释:所有可能的串联组合是 “”,“un”,“iq”,“ue”,“uniq” 和 “ique”,最大长度为 4。示例 2:输入:arr = [“cha”,“r”,“act”,“ers”]输出:6解释:可能的解答有 “chaers”

2021-06-23 23:00:24 87

原创 sourceinsight4.0常用设置

sourceinsight 4.0分享一下我sourceinsight 4.0的设置文章目录sourceinsight 4.0viewRelation 窗口字体自动高亮高亮、前进、后退快捷键设置背景设置为护眼色常见问题完成viewRelation 窗口这里可以显示函数调用与被调用的关系。选择设置。修改For Functions字体对Source Insight打开的所有代码...

2020-03-04 23:53:35 2476

转载 高斯消元法--模板

#include<stdio.h>#include<algorithm>#include<iostream>#include<string.h>#include<math.h>using namespace std;const int MAXN=50;int a[MAXN][MAXN];//增广矩阵int x[MA...

2019-12-12 09:18:48 138

原创 Lint Code 二叉树中的最大路径和

题目描述: 给出一棵二叉树,寻找一条路径使其路径和最大,路径可以在任一节点中开始和结束(路径和为两个节点之间所在路径上的节点权值之和)您在真实的面试中是否遇到过这个题? Yes 样例 给出一棵二叉树: 1 / \ 2 3返回 6ac代码:/** * Definition of TreeNode: * class TreeNode { * public: * in

2017-09-04 23:14:05 462

原创 LintCode 合并区间

题目描述: 给出若干闭合区间,合并所有重叠的部分。您在真实的面试中是否遇到过这个题? Yes 样例 给出的区间列表 => 合并后的区间列表:[ [ [1, 3], [1, 6], [2, 6], => [8, 10], [8, 10], [15, 18]

2017-06-15 08:35:06 331

原创 LintCode 两数组的交 II

题目描述: 计算两个数组的交注意事项每个元素出现次数得和在数组里一样 答案可以以任意顺序给出样例 nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].ac代码:class Solution {public: /** * @param nums1 an integer array * @param nums2 an int

2017-06-15 08:34:24 299

原创 Lintcode 两数组的交

题目描述: 返回两个数组的交注意事项Each element in the result must be unique. The result can be in any order.样例 nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].ac代码:class Solution {public: /** * @param nums1

2017-06-15 08:33:22 298

原创 LintCode 整数排序

题目描述: 给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。您在真实的面试中是否遇到过这个题? Yes 样例 对于数组 [3, 2, 1, 4, 5], 排序后为:[1, 2, 3, 4, 5]。ac代码:class Solution {public: /** * @param A an integer array *

2017-06-15 08:32:20 709

原创 LintCode 快乐数

题目描述: 写一个算法来判断一个数是不是”快乐数”。一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或是无限循环但始终变不到1。如果可以变为1,那么这个数就是快乐数。您在真实的面试中是否遇到过这个题? Yes 样例 19 就是一个快乐数。1^2 + 9^2 = 82 8^2 + 2^2 = 68 6^2 + 8^

2017-05-21 19:05:57 261

原创 LintCode 在二叉查找树中插入节点

题目描述: 给定一棵二叉查找树和一个新的树节点,将节点插入到树中。你需要保证该树仍然是一棵二叉查找树。注意事项You can assume there is no duplicate values in this tree + node.您在真实的面试中是否遇到过这个题? Yes 样例 给出如下一棵二叉查找树,在插入节点6之后这棵二叉查找树可以是这样的:2 2 /

2017-05-21 19:05:05 246

原创 LintCode Convert BST to Greater Tree

题目描述: Given a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the original BST is changed to the original key plus sum of all keys greater than the original key in BST.您在

2017-05-21 19:03:39 214

原创 LintCode 子树

题目描述:有两个不同大小的二进制树: T1 有上百万的节点; T2 有好几百的节点。请设计一种算法,判定 T2 是否为 T1的子树。注意事项若 T1 中存在从节点 n 开始的子树与 T2 相同,我们称 T2 是 T1 的子树。也就是说,如果在 T1 节点 n 处将树砍断,砍断的部分将与 T2 完全相同。您在真实的面试中是否遇到过这个题? Yes 样例 下面的例子中 T2 是 T1 的子树:

2017-04-10 22:16:19 327

原创 LintCode 把排序数组转换为高度最小的二叉搜索树

题目描述: 给一个排序数组(从小到大),将其转换为一棵高度最小的排序二叉树。注意事项There may exist multiple valid solutions, return any of them.您在真实的面试中是否遇到过这个题? Yes 样例 给出数组 [1,2,3,4,5,6,7], 返回4 / \ 2 6 / \ / \ 1 3 5

2017-04-10 22:15:22 325 1

原创 LintCode 将二叉树拆成链表

题目描述: 将一棵二叉树按照前序遍历拆解成为一个假链表。所谓的假链表是说,用二叉树的 right 指针,来表示链表中的 next 指针。注意事项不要忘记将左儿子标记为 null,否则你可能会得到空间溢出或是时间溢出。您在真实的面试中是否遇到过这个题? Yes 样例 1 \ 1 2 / \

2017-04-10 22:14:25 277

原创 LIntCode 等价二叉树

题目描述: 检查两棵二叉树是否等价。等价的意思是说,首先两棵二叉树必须拥有相同的结构,并且每个对应位置上的节点上的数都相等。您在真实的面试中是否遇到过这个题? Yes 样例 1 1 / \ / \ 2 2 and 2 2 / / 4 4 就是两棵等价的二叉树

2017-04-10 22:13:07 503

原创 LintCode 克隆二叉树

题目描述: 深度复制一个二叉树。给定一个二叉树,返回一个他的 克隆品 。您在真实的面试中是否遇到过这个题? Yes 样例 给定一个二叉树:1 / \ 2 3 / \ 4 5 返回其相同结构相同数值的克隆二叉树:1 / \ 2 3 / \ 4 5思路分析:dfsac代码:/** * Definition of TreeNode:

2017-04-10 22:11:50 230

原创 LintCode 平衡二叉树

题目描述: 给定一个二叉树,确定它是高度平衡的。对于这个问题,一棵高度平衡的二叉树的定义是:一棵二叉树中每个节点的两个子树的深度相差不会超过1。 您在真实的面试中是否遇到过这个题? Yes 样例 给出二叉树 A={3,9,20,#,#,15,7}, B={3,#,20,15,7}二叉树A是高度平衡的二叉树,但是B不是。思路分析:遍历每个结点的左右子树。判断深度差的绝对值。ac代码:/** *

2017-04-10 22:10:06 512

原创 LintCode 翻转二叉树

题目描述: 翻转一棵二叉树您在真实的面试中是否遇到过这个题? Yes 样例 1 1 / \ / \ 2 3 => 3 2 / \ 4 4思路分析:交换左右子树。ac代码:/** * Definition of TreeNode: * class TreeNode { * public: *

2017-04-10 22:07:26 458

原创 LintCode 二叉树的路径和

题目描述: 给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值 的路径。一个有效的路径,指的是从根节点到叶节点的路径。您在真实的面试中是否遇到过这个题? Yes 样例 给定一个二叉树,和 目标值 = 5:1 / \ 2 4 / \ 2 3 返回:[ [1, 2, 2], [1, 4] ]思路分析:dfs记录4个参数。 当前节点。

2017-04-10 22:06:01 316

原创 LintCode 二叉树的最小深度

题目描述:给定一个二叉树,找出其最小深度。二叉树的最小深度为根节点到最近叶子节点的距离。 您在真实的面试中是否遇到过这个题? Yes 样例 给出一棵如下的二叉树:1/ \ 2 3/ \4 5 这个二叉树的最小深度为 2思路分析:和最大深度的题一样。ac代码:/** * Definition of TreeNode: * class TreeNode {

2017-04-08 21:32:34 214

原创 LintCode 二叉树的最大深度

题目描述: 定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的距离。您在真实的面试中是否遇到过这个题? Yes 样例 给出一棵如下的二叉树:1 / \ 2 3 / \ 4 5 这个二叉树的最大深度为3.思路分析:还是dfs 每次到叶子节点的时候,判断深度。ac代码:/** * Definition of TreeNode: * class T

2017-04-08 21:31:26 232

原创 LintCode 二叉树的前序遍历

题目描述:给出一棵二叉树,返回其节点值的前序遍历。您在真实的面试中是否遇到过这个题? Yes 样例 给出一棵二叉树 {1,#,2,3},1 \ 2 / 3 返回 [1,2,3].思路分析: dfsac代码:/** * Definition of TreeNode: * class TreeNode { * public: * int

2017-04-08 21:29:00 351

原创 LintCode 二叉树的后序遍历

题目描述:给出一棵二叉树,返回其节点值的后序遍历。您在真实的面试中是否遇到过这个题? Yes 样例 给出一棵二叉树 {1,#,2,3},1 \ 2 / 3 返回 [3,2,1]思路分析: dfs。ac代码:/** * Definition of TreeNode: * class TreeNode { * public: * int v

2017-04-08 21:28:16 302

原创 LintCode 二叉树的所有路径

题目描述: 给一棵二叉树,找出从根节点到叶子节点的所有路径。您在真实的面试中是否遇到过这个题? Yes 样例 给出下面这棵二叉树:1 / \ 2 3 \ 5 所有根到叶子的路径为:[ “1->2->5”, “1->3” ]思路分析:dfs记录路径。 当一个节点的左右子树都为NULL的时候,就代表该节点为叶子节点。此时将string 插入到vecto

2017-04-08 21:27:24 292

原创 LintCode 二叉树的层次遍历

题目描述:给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)您在真实的面试中是否遇到过这个题? Yes 样例 给一棵二叉树 {3,9,20,#,#,15,7} :3 / \ 9 20 / \ 15 7 返回他的分层遍历结果:[ [3], [9,20], [15,7] ]思路分析:bfs遍历。ac代码:/** * Definition of

2017-04-08 21:24:47 377

原创 LintCode 二叉树的中序遍历

题目描述: 给出一棵二叉树,返回其中序遍历您在真实的面试中是否遇到过这个题? Yes 样例 给出二叉树 {1,#,2,3},1 \ 2 / 3 返回 [1,3,2].思路分析:dfs遍历。ac代码:/** * Definition of TreeNode: * class TreeNode { * public: * int val;

2017-04-08 21:23:33 399

原创 LintCode 二叉树的最大节点

题目描述:在二叉树中寻找值最大的节点并返回。样例 给出如下一棵二叉树:1 / \ -5 2 / \ / \ 0 3 -4 -5 返回值为 3 的节点。思路分析:遍历一遍记录最大值。ac代码:class Solution {public: /** * @param root the root of binary tree *

2017-04-08 21:20:18 1976

原创 链表总结

一开始不太熟悉链表的操作。我觉得主要是因为我没有学好指针的知识。做了一些题,慢慢就找到感觉了。 链表就是由若干个结点通过指针的方式连接起来的一种线性结构。 我觉得这里比较重要的就是,头插法,尾插法,和插入排序。能熟练写出这几段代码,就算掌握的差不多了。 我做题时比较喜欢转化成我所熟悉的数组来处理。QQ说这样就失去链表的意义了。但是我觉得这种题,不就是应该怎么简单怎么来嘛~真的是。 还有一些细

2017-03-31 10:13:34 377

原创 LintCode 回文链表

题目描述:设计一种方式检查一个链表是否为回文链表。样例 1->2->1 就是一个回文链表。思路分析:水题。 扫一遍 判断就行了。 比较喜欢转化成数组来操作。ac代码:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNo

2017-03-31 10:02:43 270

原创 LintCode 链表排序

题目描述:在 O(n log n) 时间复杂度和常数级的空间复杂度下给链表排序。样例 给出 1->3->2->null,给它排序变成 1->2->3->null.思路分析:sort扫一遍~ac代码:/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next;

2017-03-31 10:01:12 683

原创 LintCode 删除排序链表中的重复数字 II

题目描述:给定一个排序链表,删除所有重复的元素只留下原链表中没有重复的元素。样例 给出 1->2->3->3->4->4->5->null,返回 1->2->5->null给出 1->1->1->2->3->null,返回 2->3->null思路分析:将重复的元素全都删除。用一个temp记录上一个重复的元素。 当前元素只要满足 不等于 temp 并且不等于 下一个元素即可。 一开始将temp

2017-03-31 09:59:35 426

原创 LintCode 两两交换链表中的节点

题目描述:给一个链表,两两交换其中的节点,然后返回交换后的链表。样例 给出 1->2->3->4, 你应该返回的链表是 2->1->4->3。思路分析:这个题直接 更改每个结点的 val值就行了,没必要改变 结点的 逻辑顺序。ac代码:/** * Definition for singly-linked list. * struct ListNode { * int val; *

2017-03-21 22:51:39 820

原创 LintCode 翻转链表

题目描述: 翻转一个链表样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null。思路分析:头插法的简单应用。ac代码:/** * Definition of ListNode * * class ListNode { * public: * int val; * ListNode *next; * * ListNod

2017-03-21 22:49:19 340

原创 LintCode 删除链表中倒数第n个节点

题目描述:给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。注意事项链表中的节点个数大于等于n样例 给出链表1->2->3->4->5->null和 n = 2.删除倒数第二个节点之后,这个链表将变成1->2->3->5->null.ac代码:/** * Definition of ListNode * class ListNode { * public: * int va

2017-03-21 22:48:07 502

原创 LintCode 删除排序链表中的重复元素

题目描述: 给定一个排序链表,删除所有重复的元素每个元素只留下一个。样例 给出 1->1->2->null,返回 1->2->null给出 1->1->2->3->3->null,返回 1->2->3->null思路分析:用一个temp记录上次 放进 链表了元素即可。ac代码:/** * Definition of ListNode * class ListNode { * public:

2017-03-21 22:46:51 330

空空如也

空空如也

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

TA关注的人

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