自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NDK 编译时遇到fata error:"tr1/unorder_set" file not find

因为C++源文件引用该头文件,版本问题,如果遇到的话将tr1去掉即可。

2020-04-10 00:48:15 442

原创 去除文件中<feff>

今天在使用python去除字符串中的标点符号时,涉及到编码格式的转换,在将剔除之后的字符串重新存入文件后,发现字符串之前出现了<feff>, 这里我参考了博客https://cloud.tencent.com/developer/article/1471655, 主要就是使用sed -i 's/\xEF\xBB\xBF//g' filenamesed -i 's/<f...

2019-08-20 20:17:41 995 1

原创 Linux环境开发(C++)中,调用fprint输出中间信息的显示不全

Linux环境中,调用fprint输出中间信息的显示不全,网上搜罗到的解决方案是没有设置缓存的原因,内容没有完全写入目标文件。1、在fopen之后,后接setbuf(fp, NULL);2、fprinth后面接fflush(fp);上述方案,亲测有效。...

2019-06-11 10:26:16 564

原创 Kaldi 报错:queue.pl: Error submitting jobs to queue (return status was 32512)

在kaldi里面跑demo的时候提示,queue.pl: Error submitting jobs to queue (return status was 32512)queue log file is exp/make_mfcc/train/q/make_mfcc_train.log, command was qsub -v PATH -cwd -S /bin/bash -j y -l...

2018-11-04 19:00:15 2718

原创 数据流中的中位数(剑指offer/C++)

题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。室友大晚上回来和我分享这道题解题思路,他给出的方案是借助最大堆和最小堆数据结构解题,这一块我应用不是很...

2018-10-04 15:25:19 644

原创 堆排序C++

堆排序:// HeapSort.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include &lt;vector&gt;#include &lt;algorithm&gt;using namespace std;void HeapAdjust(vector&lt;int&gt; &amp;arr, int s, int m){ int ...

2018-10-01 21:52:27 138

原创 C++ 前序遍历和中序遍历重构二叉树(剑指offer)

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。这道题之前做过几次,以前的做法比较粗暴,每次都会申请新的空间存储前序遍历和中序遍历进行递归,这次做了一些改进,用两个指针记录新的中序遍历前后端进行递...

2018-09-11 10:15:02 1202

原创 error: expected unqualified-id before ‘.’ token

C++ 为了实现加锁的功能,引入了mutex头文件,使用mutext.lock()上锁,mutex.unlock()释放锁。#include &lt;mutex&gt;using namespace std;mutex t_mutex;class Csingleob{ private: Csingleob(){} ...

2018-09-07 18:05:06 37539

原创 二维数组查找(剑指offer/C++)

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。很久以前就做过这道题,那会儿刚刷题也没想怎么优化,前几天室友面试的回来分享了这道面试题,又来看看,又一次证明自己太懒了,N^2的复杂度以前也能接收。这里又重新做了一遍,见代码:class Solut...

2018-08-01 22:11:25 286

原创 变态跳台阶

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。非递归:class Solution {public: int jumpFloorII(int number) { if (number == 0) { return 0; } ...

2018-07-09 22:55:20 131

原创 centos安装gstreamer报错解决方案

最近在倒腾语音识别的一个方案(https://github.com/jcsilva/docker-kaldi-gstreamer-server.git),在ubuntu下可以安装README.md的步骤顺利安装成功,在centos下,则需要自行修改Dockfile的指令,讲讲其中遇到的两个问题:1、安装openfst一直失败,这个问题主要是经验不足造成的,由于之前失败过,后边尽管按照提示一步一步解...

2018-07-06 15:32:41 2410

原创 Centos下安装g++

这几天在倒腾一个github项目,这个项目在ubuntu下直接执行dockerfile,安装比较顺利。在Centos下,就得注意了,有些安装指令需要重写,yum install -y g++报错:Loaded plugins: fastestmirror, ovlLoading mirror speeds from cached hostfile * base: centos.ustc.edu...

2018-07-06 15:05:42 4722 1

原创 215. 数组中的第K个最大元素(leetcode)

在未排序的数组中找到第 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输出: 4遇到这种求第k大或者第k小的问题,一般直接想到的就是排序后,按下标取值。但是,直接用冒泡排序肯定是不行的,显得太没有技...

2018-06-14 09:09:14 1393

原创 437. 路径总和 III(leetcode)

给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。示例:root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8 10 ...

2018-06-12 00:42:43 638

原创 60. 第k个排列(leetcode)

给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:"123""132""213""231""312""321"给定 n 和 k,返回第 k 个排列。说明:给定 n 的范围是 [1, 9]。给定 k 的范围是[1,  n!]。示例 1:输入: n = 3, k = 3输出: "213&quo

2018-06-06 23:37:50 827

原创 647. 回文子串(leetcode/C++)

给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。示例 1:输入: "abc"输出: 3解释: 三个回文子串: "a", "b", "c".示例 2:输入: "aaa"输出: 6说明: 6个回文子串: "a", "a", "a", "aa&

2018-05-16 19:56:07 1311

原创 309. 最佳买卖股票时机含冷冻期(leetcode/C++)

给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。​设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。示例:prices = [1, 2, 3, 0, 2]maxProfit = 3transactions ...

2018-05-15 14:48:40 1878 1

原创 25. k个一组翻转链表(leetcode/C++)

给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。示例 :给定这个链表:1-&gt;2-&gt;3-&gt;4-&gt;5当 k = 2 时,应当返回: 2-&gt;1-&gt;4-&gt;3-&gt;5当 k = 3 时,应当返回: 3-&gt;2-&gt;1-&gt;4-&...

2018-05-14 17:36:44 737

原创 219. 存在重复元素 II(leetcode/C++)

给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。示例 1:输入: [1,2,3,1], k = 3输出: true示例 2:输入: [1,0,1,1], k = 1输出: true示例 3:输入: [1,2,1], k = 0输出: false一道easy题,不难,主要是考察...

2018-05-13 18:51:36 905

原创 108. 将有序数组转换为二叉搜索树

将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 5以前做...

2018-05-13 18:46:47 661

原创 235. 二叉搜索树的最近公共祖先(leetcode/C++)

给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为: “对于有根树T的两个结点u、v,最近公共祖先表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。”(一个节点也可以是它自己的祖先)例如,给定二叉搜索树:  root = [6,2,8,0,4,7,9,null,null,3,5] _______6______ / ...

2018-05-12 20:56:55 861

原创 112. 路径总和(leetcode/C++)

给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / ...

2018-05-12 17:24:52 479

原创 113. 路径总和 II(leetcode C++)

给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ ...

2018-05-12 17:20:24 310

原创 leetcode357. 计算各个位数不同的数字个数(Count Numbers with Unique Digits )

给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x &lt; 10n。示例:给定 n = 2,返回 91。(答案应该是除[11,22,33,44,55,66,77,88,99]外,0 ≤ x &lt; 100 间的所有数字)一道简单的数数问题,没去想简单的方法,直接枚举判断是否符合条件。这里判断的时候用到了set判断是否有重复元素。细节见代码:class Solution...

2018-04-29 16:02:55 812

原创 Leetcode 343. 整数拆分(Integer Break)

给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。例如,给定 n = 2,返回1(2 = 1 + 1);给定 n = 10,返回36(10 = 3 + 3 + 4)。注意:你可以假设 n 不小于2且不大于58。做题之前是选标签的,所以直接用动态规划的思想解题,一般遇到这种题,我会先在草稿纸上枚举前几个查找规律.用dp记录每个整数n的最大拆分乘积...

2018-04-29 15:07:33 531

原创 字符串转整型数(剑指offer/leetcode)

实现 atoi,将字符串转为整数。提示:仔细考虑所有输入情况。如果你想挑战自己,请不要看下面并自己考虑所有可能的输入情况。说明:这题解释的比较模糊(即没有指定输入格式)。你得事先汇集所有的输入情况。字符串转整型数是典型的字符串处理, 对于这道题没有什么技巧,就是一个字符一个字符进行处理,同时需要对边界条件进行有效的控制1、循环遍历跳过数字前的空格;2、记录第一个正负符号;3、正负号后开始对字符串进...

2018-03-29 12:44:03 235

原创 (剑指offer)反转单词顺序列C++

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

2018-03-28 23:19:28 1004

原创 (剑指offer)左旋转字符串C++

题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!这道题的思路可以借鉴矩阵论中的转秩思想,将字符转分为两部分,每个部分分别进行反转,然后再对整体进行一次...

2018-03-26 21:45:02 378

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

题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。这道题其实就是经典的2-SUM问题变型题,可以使用的双指针遍历整个数组,找出符合题目要求的两个数。细节见代码:class Solution {public: vector&lt;int&gt; FindNumbersWithSum(vector&lt;i...

2018-03-26 21:22:55 143

原创 二叉搜索树的第k大结点

题目描述给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。设计到二叉搜索树,就应当知道一个二叉搜索树的重要知识,那就是其中序遍历是递增序列。在得到一个递增序列之后就很容易获得第k大的值;这里我用非递归的方法对二叉树进行序列化,用到栈对结点进行缓存。细节见代码:/*struct TreeNode { ...

2018-03-26 20:15:29 171

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

题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。这道题与之前做的几道题的方法一致,借助队列数据结构,采用广度优先遍历的方法,将每一层的兄弟结点依次入队,再依次出出队列,这里需要一个标记记录每一层结点的数目,根据标记的值可以知道一层结点是否打印完毕;细节见代码:/*struct TreeNode { int val; struct TreeNode *lef...

2018-03-26 17:39:53 115

原创 (剑指offer)二叉树的深度(递归与非递归版本)

题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。一、递归版本;若存在左子树,则将左子树深度加1;若存在右子树,则将右子树深度加1;若左右子树均存在,则将左、右子树深度均加1取最大值;细节见代码:int TreeDepth(TreeNode* pRoot) { if (pRoot == NULL)...

2018-03-26 17:24:40 368

原创 (剑指offer)字符流第一个不重复的字符C++

题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。在数组、字符串中,与元素是否重复相关的问题,应该要首先想想能不能用哈希表来解决,利用映射关系可以记录不同元素的累加值;这道题就直接用一个哈希数组记录不同字符的数目,然后再遍历整个字...

2018-03-26 16:37:19 292

原创 数组中重复的数字(剑指offer)

题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。利用哈希表数组进行映射,如申请一个数组a[],a[0] = 1,a[1]=1,a[2]=2,a[3]=2,a[5]=1;细节见...

2018-03-26 16:06:49 104

原创 数组中的逆叙述对

题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007刚开始我是采用暴力枚举的方式求解,但是由于复杂度太高不能通过;于是尝试的其他人提到归并排序的方法,凑巧的刚刚写了归并排序的算法,就拿来检验一下,果然顺利通过;过程中有一个坑大家需要注意的是,...

2018-03-26 13:40:17 187

原创 给定一个向量/数组,判定该向量/数组是否为一个二叉搜索数的后续遍历C++

题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。做这道题之前,我们至少要对二叉搜索树的性质有一定的了解,其中与本题关系最为紧密的一条性质就是二叉搜索树中根结点的左子树的元素值均要小于根结点的值,根结点的左子树的值均要大于根结点上的值;因此,我们利用上述性质可以递归遍历整个向量中的元素判定该数组是不是某...

2018-03-22 13:57:59 220

原创 从上往下打印二叉树C++

题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。打印二叉树的有两种方式:深度优先遍历或者广度优先,这道题要求同层结点从左至右打印, 说明需要进行广度优先遍历,为了达到这个目的,我们需要借助数据结构:队列,不断将根结点、左孩子结点、友孩子结点push进入队列中,同时进行打印操作;具体细节见代码:/*struct TreeNode { int val; struct TreeNod...

2018-03-22 12:35:58 3301 2

原创 连续子数组的最大和

题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?(子向量的长度至...

2018-03-20 15:12:36 87

原创 最小的k个数(C++)

题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。求最小k个数,或者求第k大的数,或者求第k小的数;像这类题型的解题思路就是先进行排序,再按找题意找出相应的值。对于排序的话,我一般会采用快速排序法;这道题大家需要处理的边界是k大于输入vector的长度时的情况,此时应当返回空vector;另外一个需要注意的是,在将ve...

2018-03-20 14:50:29 2635

原创 判断栈的压入顺序与弹出顺序是否正确C++

题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)这道题既然有关栈的压入与弹出操作,那么就可以直接借助数据结构栈,本题比较简单,细节见代码:cl...

2018-03-20 14:12:05 430

空空如也

空空如也

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

TA关注的人

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