自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 收藏
  • 关注

原创 常见的数据结构及算法

1 线段树1.1 建立线段树1.2 区间查询1.3 区间修改2 二叉搜索树2.1 建树2.2 插入节点2.3 删除节点3 红黑树4 堆4.1 建堆4.2 堆排序–5 LRU缓存6 并查集7 拓扑排序...

2021-01-03 15:37:13 281

原创 qtcreator-ros开发

1. 背景现使用ROS开发项目,节点数据流通之后需要一个显控(显示和控制)节点,该节点负责数据可视化、人机交互。由于rviz过于高端,没捯饬出来,于是将QT+ROS结合,进行项目开发。2. 环境搭建ubuntu16.04ros-kineticqt57qt-plugin-ros2.1 ros-kinetic-full安装#source.listsudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -s

2020-06-24 09:30:50 858

原创 leetcode1368 使网格图至少有一条有效路径的最小代价

1.题目描述给你一个 m x n 的网格图 grid 。 grid 中每个格子都有一个数字,对应着从该格子出发下一步走的方向。 grid[i][j] 中的数字可能为以下几种情况:1 ,下一步往右走,也就是你会从 grid[i][j] 走到 grid[i][j + 1]2 ,下一步往左走,也就是你会从 grid[i][j] 走到 grid[i][j - 1]3 ,下一步往下走,也就是你会从...

2020-03-02 13:01:49 473

原创 leetcode 20 有效的括号

1.题目给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: false示例 4:...

2020-02-14 13:59:21 142

原创 leetcode 15 三数之和

1.题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]来源:力扣(Le...

2020-02-14 13:20:01 72

原创 leetcode 14 最长公共前缀

1.题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。来源:力扣(LeetCode)链接:https://leetcode-cn.com/pro...

2020-02-14 11:28:47 76

原创 leetcode 11 盛最多水的容器

1.题目给定n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i, ai) 。在坐标内画n条垂直线,垂直线i的两个端点分别为(i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组[1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值...

2020-02-14 11:07:59 140

原创 leetcode 9 回文数

1.题目判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。...

2020-02-14 10:19:02 107

原创 leetcode 8 字符串转换整数

1.题目请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字...

2020-02-14 10:02:40 62

原创 leetcode 5 最长回文子串

1.题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palindromic-su...

2020-02-13 22:16:21 64

原创 leetcode 7 整数反转

1.题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。来源:力扣(Le...

2020-02-13 21:34:53 97

原创 leetcode 4 寻找两个有序数组的中位数

1.题目给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是...

2020-02-13 21:20:54 116

原创 leetcode 2 两数相加

1.题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -...

2020-02-13 17:28:07 83

原创 剑指offer 剪绳子

1.题目给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],…,k[m]。请问k[0]xk[1]x…xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。输入描述:输入一个数n,意义见题面。(2 <= n <= 60)输出描...

2020-02-07 21:49:44 585

原创 剑指offer 机器人的运动范围

1.题目地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?来源:剑指offer链接:https://...

2020-02-07 21:32:03 83

原创 剑指offer 矩阵中的路径

1.题目请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据...

2020-02-07 21:07:09 66

原创 剑指offer 滑动窗口的最大值

1.题目给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5...

2020-02-07 20:48:20 71

原创 剑指offer 数据流的中位数

1.题目如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。来源:剑指offer链接:https://www.nowcoder.com/practice/9be01...

2020-02-07 19:22:37 95

原创 剑指offer 二叉搜索树的第k个节点;

1.题目给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。来源:剑指offer链接:https://www.nowcoder.com/practice/ef068f602dde4d28aab2b210e859150a?tpId=13&tqId=11215&rp=1&ru=/ta/cod...

2020-02-07 14:35:06 88

原创 剑指offer 序列化二叉树

1.题目请实现两个函数,分别用来序列化和反序列化二叉树二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#),以 ! 表示一个结点值的结束(value!)。二叉树的反序列化是指:根据某种遍历顺序得到...

2020-02-07 14:14:20 69

原创 剑指offer 按之字形顺序打印二叉树

1.题目请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。来源:剑指offer链接:https://www.nowcoder.com/practice/91b69814117f4e8097390d107d2efbe0?tpId=13&tqId=11212&rp=1&ru=/t...

2020-02-07 10:31:16 69

原创 剑指offer 把二叉树打印成多行

1.题目从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。来源:剑指offer链接:https://www.nowcoder.com/practice/445c44d982d04483b04a54f298796288?tpId=13&tqId=11213&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-i...

2020-02-07 10:06:19 58

原创 剑指offer 对称的二叉树

1.题目请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。来源:剑指offer链接:https://www.nowcoder.com/practice/ff05d44dfdb04e1d83bdbdab320efbcb?tpId=13&tqId=11211&rp=1&ru=/ta/coding-intervie...

2020-02-07 09:36:31 125

原创 剑指offer 二叉树的下一个结点

1.题目给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。来源:剑指offer链接:https://www.nowcoder.com/practice/9023a0c988684a53960365b889ceaf5e?tpId=13&tqId=11210&rp=1&ru=/ta/cod...

2020-02-06 19:17:32 53

原创 剑指offer 删除链表中重复的结点

1.题目在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5处理后为1->2->5;来源:剑指offer链接:https://www.nowcoder.com/practice/fc533c45b73a41b0b44ccba763f866ef?tpId...

2020-02-06 16:52:24 64

原创 剑指offer 链表中环的入口节点

1.题目给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。来源:剑指offer链接:https://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4?tpId=13&tqId=11208&rp=1&ru=/ta/coding-interviews&qru=/ta/cod...

2020-02-06 16:20:43 103

原创 剑指offer 字符流中第一个不重复的字符

1.题目请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。来源:剑指offer链接:https://www.nowcoder.com/practice/00de977...

2020-02-06 15:01:04 61

原创 剑指offer 表示数值的字符串

1.题目请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。来源:剑指offer链接:https://www.nowcoder.com/practice/6f8c901d091949a5837e24...

2020-02-06 10:10:47 162

原创 剑指offer 正则表达式匹配

1.题目来源:剑指offer链接:请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配2.我的题解首先:空表达式不能匹配上非空字符串;空表达是可以...

2020-02-05 16:35:32 55

原创 剑指offer 构建乘积数组

1.题目给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。来源:剑指offer链接:https://www.nowcoder.com/practice/94a4d381a68b47b7a8bed86f2975db46?tpId=13&...

2020-02-05 15:31:08 78

原创 剑指offer 将字符串转换成整数

1.题目将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0来源:剑指offer链接:https://www.nowcoder.com/practice/1277c681251b4372bdef344468e4f26e...

2020-02-05 14:33:35 89

原创 剑指offer 不用加减乘除做加法

1.题目写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。来源:剑指offer链接:https://www.nowcoder.com/practice/59ac416b4b944300b617d4f7f111b215?tpId=13&tqId=11201&rp=1&ru=/ta/coding-interviews&qru=/ta/c...

2020-02-05 14:07:11 63

原创 剑指offer 求1+2+3+...+n

1.题目求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。来源:剑指offer链接:https://www.nowcoder.com/practice/7a0da8fc483247ff8800059e12d7caf1?tpId=13&tqId=11200&rp=1&ru=/ta/c...

2020-02-05 13:39:40 164

原创 剑指offer 孩子们的游戏(圆圈中最后剩下的数)

1.题目每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数…这样下去…直到剩下最后一...

2020-02-05 12:46:53 124

原创 剑指offer 扑克牌顺子

1.题目LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子…LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面的5张...

2020-02-04 19:41:31 83

原创 剑指offer 反转单词顺序列

1.题目牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?来源:剑指offer链...

2020-02-04 18:29:46 74

原创 剑指offer 左旋转字符串

1.题目汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!来源:剑指offer链接:https://www.nowcoder.com/practice/1...

2020-02-04 18:05:21 61

原创 剑指offer 和为S的两个数字

1.题目输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,小的先输出。来源:剑指offer链接:https://www.nowcoder.com/practice/390da4f7a00f44bea7c2f3d19491311b?tpId=13&tqId=111...

2020-02-04 17:41:01 68

原创 剑指offe 和为S的连续正数序列

1.题目小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!输出描述:输出所有和为S的连续正数序列。序...

2020-02-04 13:10:48 121

原创 剑指offer 二叉树的深度

1.题目输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。来源:剑指offer链接:https://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b?tpId=13&tqId=11191&rp=1&ru=/ta/coding-int...

2020-02-04 11:15:42 76

空空如也

空空如也

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

TA关注的人

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