自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jaster_wisdom的专栏

待到山花烂漫时,她在丛中笑

原创 fstream用法总结 C++

在C++中输入输出到指定文件,或者从指定文件中读出数据使用fstream类较为方便。 1.将数据写到磁盘的指定文件中 首先第一步是加头文件#include ,引入库函数 第二步,声明一个ofstream对象,调用ofstream的成员函数open函数,与指定的文件相关联 第三步,使用 最...

2016-09-01 15:20:28 13888 5

原创 评价指标MAP(macro average precision)与mAP(mean average precision)的区别

本篇主要介绍在机器学习中,两个常用的评价指标MAP与mAP的区别,前者MAP是macro average precision, 翻译为宏平均准确率,常用于分类问题中;而后者mAP是mean average precision, 翻译为平均精度均值,常用于目标检测和信息检测领域。两者有一个明显的区别...

2019-05-07 10:39:46 799 1

原创 Python语言实现批量视频分帧,保存视频帧

本篇博客介绍利用python脚本实现视频分帧,并将每一帧保存到本地。主要基于opencv包来实现,在运行代码前确保opencv包已正确安装。下面是主要代码: import os import cv2 videos_src_path = '/home/shao/violence_d...

2019-03-18 11:25:30 2167 6

原创 opencv提取图像中的颜色直方图(RGB、HSV)

本篇博客主要介绍利用opencv工具提取一幅图像中的颜色直方图特征。所谓颜色直方图,指的是一幅图像中的颜色分布,与图像中的特定的物体无关,只是用来表示人的眼睛观察到的图像中的颜色分布情况,例如说,一幅图中红色占了多少比例,绿色占了多少比例等。 我们知道,计算机色彩显示器采用R、G、B相加混色的原...

2018-10-31 17:15:20 10261 3

原创 建立一个类占用的字节数

本文主要讲解在C++中建立一个新类会占用的字节数,这是面试中经常会被问的一道题。 1.建立一个空类,里面什么都没有,没有成员函数,也没有成员变量; #include <iostream> using namespace std; class Person{ ...

2018-08-28 10:52:15 286 0

原创 LeetCode300. 最长上升子序列

给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。 说明: 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。 你算法的时间复...

2018-08-22 15:01:21 831 0

原创 LeetCode216. 组合总和 III

找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。 说明: 所有数字都是正整数。 解集不能包含重复的组合。  示例 1: 输入: k = 3, n = 7 输出: [[1,2,4]] 示例 2: 输入: k = 3...

2018-08-21 11:28:20 470 0

原创 LeetCode226. 翻转二叉树

翻转一棵二叉树。 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 代码展示: /** * Defini...

2018-08-20 22:22:40 191 0

原创 LeetCode215. 数组中的第K个最大元素

在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4 输出:...

2018-08-20 18:50:32 599 0

原创 LeetCode232. 用栈实现队列

使用栈实现队列的下列操作: push(x) -- 将一个元素放入队列的尾部。 pop() -- 从队列首部移除元素。 peek() -- 返回队列首部的元素。 empty() -- 返回队列是否为空。 示例: MyQueue queue = new MyQueue(); queue....

2018-08-20 16:36:34 482 0

原创 LeetCode154. 寻找旋转排序数组中的最小值 II

假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 请找出其中最小的元素。 注意数组中可能存在重复的元素。 示例 1: 输入: [1,3,5] 输出: 1 示例 2: 输入: [2...

2018-08-19 16:10:55 257 0

原创 Fisher Vector 基本原理分析

1.背景介绍 Fisher Vector是一种编码方式,它和Bag-of-Words一样,都能够实现对于不等长特征矩阵的归一化。例如,对于一段语音信号,每帧上可以提取MFCC特征(假设有13维),由于每段语音信号的长度不等,导致每段语音的总帧数不等,得到的特征向量可能是这样的:13*N,这里的N...

2018-08-16 15:56:02 3654 1

原创 LeetCode135. 分发糖果

老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 相邻的孩子中,评分高的孩子必须获得更多的糖果。 那么这样下来,老师至少需要准备多少颗糖果呢? 示例 1: ...

2018-08-16 09:53:11 400 0

原创 LeetCode208. 实现 Trie (前缀树)

实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。 示例: Trie trie = new Trie(); trie.insert("apple"); trie.search("apple")...

2018-08-14 20:09:08 287 0

原创 LeetCode207. 课程表

现在你总共有 n 门课需要选,记为 0 到 n-1。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习? 示例 1: 输入: 2, [[1,0]]...

2018-08-14 19:37:44 340 0

原创 LeetCode199. 二叉树的右视图

给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例: 输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释: 1 <--- / \ 2 3 ...

2018-08-14 16:23:26 367 0

原创 LeetCode200. 求岛屿的个数

给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。 示例 1: 输入: 11110 11010 11000 00000 ...

2018-08-14 13:16:14 727 0

原创 LeetCode198. 打家劫舍

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。 示例 1...

2018-08-11 23:10:25 182 0

原创 LeetCode187. 重复的DNA序列

所有 DNA 由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。 编写一个函数来查找 DNA 分子中所有出现超过一次的10个字母长的序列(子串)。 示例: 输入: s = "AA...

2018-08-11 21:06:02 1154 0

原创 LeetCode442. 数组中重复的数据

给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。 找到所有出现两次的元素。 你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗? 示例: 输入: [4,3,2,7,8,2,3,1] 输出: [2,3] 题目分...

2018-08-09 21:11:40 709 0

原创 Bag-of-words 词袋模型基本原理

Bag-of-words词袋模型最初被用在信息检索领域,对于一篇文档来说,假定不考虑文档内的词的顺序关系和语法,只考虑该文档是否出现过这个单词。假设有5类主题,我们的任务是来了一篇文档,判断它属于哪个主题。在训练集中,我们有若干篇文档,它们的主题类型是已知的。我们从中选出一些文档,每篇文档内有一些...

2018-08-09 19:24:14 13061 0

原创 k-means算法及python实现

本篇文章主要讲解聚类分析中的一种常用的算法k-means,它的全称叫作k均值算法。 k-means原理 k-means算法是一种基于原型的、划分的聚类技术。 基于原型可以理解为基于质心,也就是说,每个对象到定义该簇质心的距离比到其他簇质心的距离更近。当质心没有意义时,原型可以视为最靠近中心的...

2018-08-09 15:28:56 1426 0

原创 LeetCode43. 字符串相乘

给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 示例 1: 输入: num1 = "2", num2 = "3" 输出: "6" 示例 2: 输...

2018-08-08 21:37:00 299 0

原创 LeetCode349. 两个数组的交集

给定两个数组,写一个函数来计算它们的交集。 例子:  给定 num1= [1, 2, 2, 1], nums2 = [2, 2], 返回 [2]. 提示: 每个在结果中的元素必定是唯一的。 我们可以不考虑输出结果的顺序。 题目分析:首先,将num1的元素存进s1,完成了一步去重;同样,将...

2018-08-05 21:28:19 449 0

原创 LeetCode150. 逆波兰表达式求值

根据逆波兰表示法,求表达式的值。 有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 说明: 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例 1: 输入: ["...

2018-08-04 21:14:50 131 0

原创 LeetCode153. 寻找旋转排序数组中的最小值

假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 请找出其中最小的元素。 你可以假设数组中不存在重复元素。 示例 1: 输入: [3,4,5,1,2] 输出: 1 示例 2: 输...

2018-08-04 15:17:07 328 0

原创 LeetCode151. 翻转字符串里的单词

给定一个字符串,逐个翻转字符串中的每个单词。 示例:   输入: "the sky is blue", 输出: "blue is sky the". 说明: 无空格字符构成一个单词。 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符...

2018-08-04 14:35:58 1167 0

原创 LeetCode148.排序链表

在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 示例 2: 输入: -1->5-&am...

2018-08-04 11:53:42 126 0

原创 LeetCode167. 两数之和 II - 输入有序数组

给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而...

2018-08-04 10:51:08 170 0

原创 LeetCode160. 相交链表

编写一个程序,找到两个单链表相交的起始节点。   例如,下面的两个链表: A: a1 → a2 ↘ c1 → c2 → c3 ↗ ...

2018-08-04 10:35:12 111 0

原创 LeetCode131. 分割回文串

给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: 输入: "aab" 输出: [ ["aa","b"], ["a","a",...

2018-08-02 19:04:52 925 0

原创 LeetCode179. 最大数

给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。 示例 1: 输入: [10,2] 输出: 210 示例 2: 输入: [3,30,34,5,9] 输出: 9534330 说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。 题目分析:首先,将vector内...

2018-08-02 16:46:15 351 0

原创 LeetCode145. 二叉树的后序遍历

1.递归实现: class Solution { public: vector<int> postorderTraversal(TreeNode* root) { vector<int> ans; ...

2018-08-01 18:47:02 85 0

原创 LeetCode144. 二叉树的前序遍历

二叉树的前序遍历主要有两种方法实现: 1.递归实现: class Solution { public: vector<int> preorderTraversal(TreeNode* root) { vector<int&am...

2018-08-01 17:15:00 481 0

原创 LeetCode23. 合并K个排序链表

合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: [   1->4->5,   1->3->4,   2->6 ] 输出: 1->1->2->...

2018-08-01 16:30:00 775 0

原创 C++中的static修饰符

一、static静态总概述 首先说明,由static修饰的变量叫作静态变量,由static修饰的函数叫作静态函数。总的来说,静态变量指的是在程序执行前,系统就为之分配存储空间的一类变量(在运行时不再分配内存)。 二、static使用场景---静态变量 首先,介绍静态存储区的概念。静态存储区:...

2018-07-31 21:28:43 113 0

原创 LeetCode142. 环形链表II

题目分析:本题是要找到一个环形链表的第一个入环节点,分析:设置快指针每次走两步、慢指针每次走一步,当它们相遇时,表示该链表有环。然后再将slow指针指向头结点,slow和fast同时向前走,下一个相遇的点即是入环节点。 证明: 代码展示: class Solution { public...

2018-07-29 21:00:21 379 0

原创 LeetCode141. 环形链表

题目大意:判断给定的一个链表是否有环? 题目分析:使用快慢指针,快指针每次走两步,慢指针每次走一步,如果存在环的话,那么它们一定会相遇;如果不存在环的话,快指针会先为空。 代码展示: class Solution { public: bool hasCycle(ListNode *...

2018-07-29 18:58:55 114 0

原创 LeetCode130. 被围绕的区域

给定一个二维的矩阵,包含 'X' 和 'O'(字母 O)。 找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。 示例: X X X X X O O X X X ...

2018-07-29 09:39:50 230 0

原创 LeetCode129. 求根到叶子节点数字之和

给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。 例如,从根到叶子节点路径 1->2->3 代表数字 123。 计算从根到叶子节点生成的所有数字之和。 说明: 叶子节点是指没有子节点的节点。 示例 1: 输入:...

2018-07-28 14:26:46 305 0

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