![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode/牛客(算法题梳理)
文章平均质量分 54
你听的到、
这个作者很懒,什么都没留下…
展开
-
判断一颗二叉树是否是平衡二叉树
判断一颗二叉树是否是平衡二叉树首先先明确平衡二叉树的性质:1、左子树深度与右子树深度差不大于1;2、左右子树都是平衡二叉树;根据两条性质,判断是否为平衡二叉树的关键是:1、计算树的深度2、递归下面贴出代码:#include <iostream>/*调用深度计算函数,且计算树深度时,若为-1说明子树不平衡,直接返回-1即可*/bool IsBalanced_Sol...原创 2018-12-09 11:40:24 · 218 阅读 · 0 评论 -
Leetcode--计算一个字符串中最长的有效括号字符长度
Leetcode–计算一个字符串中最长的有效括号字符长度首先这又是一道括号匹配的问题,我这里先记录一下之前几道类似的题目:1、给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。思路:首先空串题目认为是有效字符串,这里只需简单判断...原创 2018-12-22 23:22:44 · 1500 阅读 · 0 评论 -
STL-vector清空的几种方法加代码梳理
STL-vector清空的几种方法加代码梳理在做行人检测的项目(HOG+SVM方法)时,因为要计算每幅图像的hog描述子向量,通过调用hog的compute方法,需要传入一个描述子向量:HOGDescriptor hog;vector<float> descriptors;hog.compute(src/*inputImage*/, descriptors, Size(8,8)...原创 2018-12-09 23:38:42 · 627 阅读 · 0 评论 -
判断树路径上的和是否为某个数
题目来源:牛客网-剑指offer题目描述:输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)思路分析:路径问题从树的根结点到叶结点,所以需要深度优先遍历(dfs),在递归过程中发现当前路径和为给定的数时,将该路径存入vector中,再遍历其...原创 2018-12-16 20:12:05 · 468 阅读 · 0 评论 -
二叉树的打印
题目来源:牛客网-剑指offer题目描述:从上往下打印树的每一个结点,同层结点从左至右打印思路:我们一般输出二叉树结点是通过三种常用的遍历方法:前序遍历,中序遍历,后序遍历。这三种遍历分别是什么这里就不过多介绍了,网上随便一查会有很多。这里要求的输出顺序与这三种常用的方法不同,有点类似先序遍历,因为先输出的是根结点,但是又并不完全相同,因为先序遍历会顺着子树一直向下直到根结点,再逐层返回。#...原创 2018-12-16 17:57:30 · 498 阅读 · 0 评论 -
牛客网-和为s的连续正数序列
题目描述: 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!输出描述:输出所有...原创 2018-12-15 21:20:57 · 123 阅读 · 0 评论 -
【LeetCode】有效括号生成,回溯法的应用
【LeetCode】有效括号生成题目描述:给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。题目思路:回溯法:一般排列组合的问题都需要用到递归算法中的回溯思路。这道题是典型的回溯法应用的场景,只不过需要在回溯的过程中添加条件限定,不符合有效的括号组合不进行回溯即可。关于回溯法,这一篇博客写的很好很详细啦,链接在下面:回溯法-数据结构与算法 ht...原创 2018-12-09 14:55:03 · 1516 阅读 · 1 评论 -
找出数组中只出现一次的数字(剑指offer)
找出数组中只出现一次的数字来源:牛客网(剑指offer)题目描述一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。重点是要晓得int型数值的异或^结果是什么,假如3个数,3,4,3 分别转换为二进制为 011,100,011 逐个^ (按位异或)得到111^011=100,同时异或也满足交换率,所以:3异或4异或3 =3异或3异或4=4。扩展到...原创 2018-12-14 17:24:02 · 1992 阅读 · 0 评论 -
【LeetCode】 下一个更大的排列(数组)
…今天做了一道挺有意思的题目,leetcode原题描述如下:实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,...原创 2018-12-14 15:14:19 · 995 阅读 · 0 评论 -
C++11语言特性小结
c++11新语言特性梳理(这里整理算法书上的内容,方便日后复习)1、类型推导(auto)这个不用多说,c++11提供了不需要预先知道变量类型时,即可定义变量的方式:auto关键字。其实我认为一般在明确知道变量类型时,不用偷懒还是用确定的变量类型定义即可,一般auto用在不知道变量类型或者是声明迭代器变量时:vector<int> vec;vector<int> ve...原创 2019-01-02 22:05:51 · 256 阅读 · 0 评论