- 博客(32)
- 资源 (1)
- 收藏
- 关注
原创 leetcode之Permutations问题
#include#includeusing namespace std;class Solution {public: vector> permute(vector& nums);};int fractorial(int N){ return N == 1 || N == 0 ? 1 : N*fractorial(N - 1);}void next_index(vector
2017-01-24 20:46:14 477
原创 已知两个链表A和B分别表示两个集合,其元素递增排列。请设计算法求出两个集合A和B的差集(即仅由在A中出现而不在B中出现的元素所构成的集合),并以同样的形式存储,同时返回该集合的元素个数。
已知两个链表A和B分别表示两个集合,其元素递增排列。请设计算法求出两个集合A和B的差集(即仅由在A中出现而不在B中出现的元素所构成的集合),并以同样的形式存储,同时返回该集合的元素个数。 代码如下:#include using namespace std;struct LinkNode{ int data; LinkNode* next;};LinkNode* min
2016-11-06 17:14:11 22757 2
原创 创建双向训练链表
下面创建的是双向训练链表,注意 是循环的。#include using namespace std;struct BiD_LNode{ int data; BiD_LNode *next; BiD_LNode *prior;};//使用头插法创新双向循环链表void Create_LinkList(BiD_LNode *&head){ head = new BiD_LNo
2016-05-18 22:23:55 479
原创 将一个十进制整数转换为二进制字符串
将一个十进制整数转换为二进制字符串。下面的函数不仅仅可以转换成二进制,还可以转换为八进制十六进制等等。#include using namespace std;char *myitoa(int num, char *str, int radix)//num是输入数字,str是存放对应的字符串,radix是进制{ char* temp_arr = new char[10]; int
2016-05-16 17:00:25 6015
原创 把检测出的人脸用椭圆和矩形框画出
把检测出的人脸用椭圆画出。使用opencv中自带的haarcascades#include "opencv2/core/core.hpp" #include "opencv2/objdetect/objdetect.hpp" #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #i
2016-05-07 17:20:19 5048
原创 生日礼物题-信封包装
#include#includeusing namespace std;int main(){ int n, w, h; cin >> n >> w >> h; map> M; int wi, hi; for (int i = 1; i <= n; ++i) { cin >> wi >> hi; if ((wi>w) && (hi > h)) { map m;
2016-04-08 21:51:32 735
原创 C++统计一个文件中每个数字字符(0~9)出现的次数
现在有一个文本文件,请写一个程序,统计该文件中每个数字字符(0~9)出现的次数,并将统计结果打印到屏幕上。#include#includeusing namespace std;int main(){ ifstream fopen("D:\\test.txt"); if (!fopen) { cout << "The file can not be opened" << en
2016-04-02 10:38:18 6175
原创 C++实现矩阵类型的基本操作:创建矩阵(M x N)、释放内存、获取某一元素的值、修改某一元素的值、乘法操作
#include#includeusing namespace std;class MAT;MAT operator*(const MAT& A, const MAT& B); class MAT{public: MAT(int rows, int cols); MAT(const MAT& m); ~MAT();//释放矩阵 void cin_data(); float
2016-03-30 09:14:04 4152
原创 构造哈弗曼树
#includeusing namespace std;struct HTreeNode{ int weight; HTreeNode* parent; HTreeNode* lchild; HTreeNode* rchild;};HTreeNode* CreatHuffmanTree(int *w, int n){ int m = 2 * n - 1; HTreeNode*
2016-02-27 23:29:07 530 1
原创 字符串循环右移
#include#includeusing namespace std;//反转[low high]之间字符串void Reverse_str(string& str, int low, int high){ char temp; while (low<high) { temp = str[low]; str[low] = str[high]; str[high] =
2015-11-10 15:19:49 501
原创 二叉排序树的构建
下面是二叉排序树构建的代码,按照严蔚敏数据结构教材上的方法写的:#includeusing namespace std;struct ListNode{ ListNode* left; ListNode* right; int data;};bool SearchBST(ListNode* T, int key, ListNode* f, ListNode*& p){
2015-11-04 17:56:13 1732 4
原创 折半查找的递归和非递归实现
#includeusing namespace std;int BinarySearch(int* arr,int start,int end,int x){ //int low = 0, high = end - 1; if (start == end)return -1; int low = start, high = end; int mid = (high + low)/2;
2015-10-30 23:33:47 566
原创 高兴新面试题总结
6,图像的形态学处理方法包括()A、图像增强 B、图像锐化 C、图像切割 D、图像增强二、填空题6、写出以下程序的输出结果#includeusing namespace std;class A{ virtual void g() { cout << "A::g" << endl; }private: virtual void f() {
2015-10-27 22:40:51 632
原创 网易、大众、京东算法工程师岗编程题
问题描述:V先生有一天工作得很晚,回家的时候要穿过一条长度为l的笔直街道,这条街道上有n个路灯。假设这条街起点为0,终点为l,第i个路灯的坐标为ai。路灯发光能力以正数d来衡量,其中d表示路灯能够照亮的街道上的点与路灯的最远距离,所有路灯发光能力相同。为了让V先生看清回家的路,路灯必须照亮整天街道,又为了节省电力希望找到最小的d是多少?输入:输入两行数据,第一行是两
2015-10-24 09:34:02 3662
原创 找两条单链表的公共结点
题目:两个单向链表,找出它们的第一个公共结点。#includeusing namespace std;struct ListNode{ int data; ListNode *next;};ListNode* Create_Linklist(int *arr,int len){ ListNode* head = new ListNode(); head->next = NUL
2015-10-22 23:24:25 872 1
原创 两个有序链表的合并
对于两个有序链表的合并问题,在《剑指offer》中,采用的是如下递归的方式完成的,即:listNode* merge(listNode* pHead1, listNode* pHead2){ if(pHead1 == NULL) return pHead2; else if (pHead2 == NULL) return pHead1; li
2015-10-21 22:51:02 1248 1
原创 猴子吃桃问题
猴子吃桃问题:有一堆桃子不知数目,猴子第一天吃掉一半,觉得不过瘾,又多吃了一只,第二天照此办法,吃掉剩下桃子的一半另加一只,天天如此,到第十天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少只?#includeusing namespace std;int Eat_Peaches(int n){ if (n == 10) return 1; else return (Eat
2015-10-20 10:32:31 633
原创 Ubuntu15.04中测试安装的opencv2.4.9 时遇到usr/bin/ld: cannot find -lcufft解决方法。
Ubuntu15.04中安装完opencv2.4.9后,进入opencv目录/samples/c/ 运行./build_all.sh 出先下面错误:/usr/bin/ld: cannot find -lcufft/usr/bin/ld: cannot find -lnpps/usr/bin/ld: cannot find -lnppi/usr/bin/ld: can
2015-10-14 21:36:21 5148 1
原创 单链表反转
究竟要如何反转呢?我们不妨拿一个例子来说明一下算法。看懂怎么反转的了吧? 代码如下:#include#include#includeusing namespace std;struct ListNode{ ListNode* next; int data;};void Creat_LinkList(ListNode* &head){ head = new
2015-10-03 16:07:45 577
原创 行编辑器
题目你知道行编辑器吗?不知道也没关系,现在我会告诉你: 1.如果你收到一个’#’,那么你应该删掉一个你已经收到的字符,不包括’#’; 2.如果你收到一个’@’,那么你应该把你收到的一整行都删掉。 (‘#’和‘@’都为不可见字符。) 你明白了吗?现在轮到你去解决这个问题啦! 输入 第一行是一个整数T,代表有T组数据。 每组数据的开始时一个字符串,字符串长度小于10
2015-10-01 22:07:44 1521
原创 海格面试题总结
一、选择题1,下面关于关键字的描述及使用中,错误的是()A,volatile可用于定义多线程应用中的共享变量 B,const可用于定义全局变量C,一个变量既可以是const,同时也是volatitle D,register static int i=0答案选B int b=i,volatile 指出 i 是随时可能发生变化的,每次使用它的
2015-09-18 11:21:09 3915 2
原创 局部变量、全局变量和静态变量的关系。
这里简单的说下局部变量和全局变量和静态变量的关系。首先,全局变量存储在静态存储区;局部变量存储在动态存储区,是存储在栈里的;静态变量 类型说明符是static。静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都不释放),也可以认为是其内存地址不变,直到整
2015-09-17 16:14:04 1076
转载 几种常见容器比较和分析 hashmap, map, vector, list, hash table
最近面试被问到hash map和hash table的区别,于是就查了下资料,顺便把其他几种容器也整理下。list支持快速的插入和删除,但是查找费时;vector支持快速的查找,但是插入费时。map查找的时间复杂度是对数的,这几乎是最快的,hash也是对数的。 如果我自己写,我也会用二叉检索树,它在大部分情况下可以保证对数复杂度,最坏情况是常数复杂度,而std::map
2015-09-17 11:57:56 777
原创 二叉树的前中后遍历递归非递归实现
好吧,我终于把前中后 递归和非递归的都写出来了。。如下: 不解释#include#includeusing namespace std;struct BTNode{ BTNode *left; BTNode *right; int data;};void AssertBTN(BTNode *&root1, int a){ if (root1 == NULL)
2015-08-11 11:03:16 416
原创 把二元查找树转变成排序的双向链表
题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。10/ \6 14/ \ / \4 8 12 16转换成双向链表4=6=8=10=12=14=16。#include#include#include#includeusing namespace std;int findGre
2015-06-02 16:43:23 409
原创 波兰表达式和逆波兰表达式
波兰表达式和逆波兰表达式分别是一颗二叉树的前序遍历和后序遍历。方法一:递归#include #include using namespace std;struct Tree {char value;Tree *left;Tree *right;};void solution_LRD(Tree *head){if(head){s
2015-06-02 16:41:48 606
转载 HOG特征+SVM训练进行行人检测。
看了网上很多关于HOG特征的讲解,大力推荐下面一文,1、HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需
2015-03-26 23:25:44 2670
原创 给出两个长度为N的有序数组A和B 给出求中位数的算法
有个同学阿里面试被问到“给出两个长度为N的有序数组A和B 给出求中位数的算法” 怎么办??很熟悉是吧 但是就是想不起来。。题目是《算法导论》上的一道习题,不过已多次出现在面试题当中。注意,此题中两个数组的长度是相等的。当然,长度不等的话也可以做,只是要多些判断条件。参考leetcode题目 Median of Two Sorted Arrays方法1 直接遍历直接
2015-03-22 16:42:57 3482
原创 快速排序、归并排序、堆排序的实现
最近总是遇到面试问到归并排序的问题,下面我们来走一遍归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。//
2015-03-22 15:45:49 668
原创 复习虚函数
面试的时候被问到虚函数,这两天就研究下虚函数,真是基础啊!!下面先来点简单的简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异,而采用不同的策略。下面来看一段简单的代码12
2015-03-18 16:12:15 567
原创 复习继承派生
昨天一个家公司电面我,问了这个继承派生的问题,。这个问题几年前就没搞懂,现在还是不懂,当然我回答了一塌糊涂。现在我们再来复习一下,这次一定记住!!查了那么多资料,还是百度上写的好。公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。1. 公有继承(public)公有继承的特点是基类的公有成员和保护成员作为派生类的
2015-03-17 08:46:22 441
原创 复习内联函数
我是菜鸟,一个计算机专业的菜鸟,前几年都是泪,你懂的。。。这些天在网上找实习单位,真是难过到家了,自卑死了 ,看各公司岗位要求的东西没几个会的,学了这么多年计算机怎么就菜到这种程度,是时候努力奋斗了,要不以后连老婆都娶不到。。去年有师兄对我说让我弄个博客,天天整理下知识,那时没觉得那么必要。,也就没开通。前几天看到一些牛逼的公司应聘条件中对有自己博客作为加分项,把博客什么的看的很重,想一想
2015-03-15 19:34:38 590
cudnn v5.1 深度学习 计算加速
2017-11-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人