自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 堆栈的区别

两次面试都被问到的问题说说堆栈的区别1.数据结构:堆其实就是树(如堆排序),一些数据结构比如说优先队列,它的底层其实就是用堆来实现的。栈(数据结构),一种先入后出的数据结构。2.堆栈空间分配栈(操作系统),由操作系统自动分配和释放,存放函数参数,局部变量等。操作方式类似于数据结构的栈堆(操作系统),由程序员进行分配和释放,若程序员不释放,则最后可能会由操作系统进行回收。

2017-09-01 10:28:10 1402

原创 双栈排序

双栈排序其实开始前我想吐槽一下,牛客网好多题目表述不清楚,比如说这双栈排序,我不明白为什么非要用vector来表示,这样给操作带来很大的不遍,那如果要用栈的话,直接就stack不就好了,但是这个题目是这么要求的,只能按他的意思,将原有数据复制到一个栈,然后定义一个辅助栈,用两个栈进行排序,最后将辅助栈的结果又一个个赋值到结果vector,感觉好绕思想用了别人的方法,我只是自己实现了一下。

2017-08-09 16:28:08 420

原创 度度熊回家问题

这个题目说实话我自己看了半个小时没看懂,后来请教了同学,然后他给的解释及题目如图所示好吧,看了人家给的解释,自己在本地编辑运性了大概半个小时,终于写出来啦,没有用什么特殊的算法,最蠢的办法来的。#include #include using namespace std;int main(){ int n; cin>>n; int arr[n]; int tmp=0;

2017-08-06 11:17:46 274

原创 记第二次面试经历

2018HW优招实习面试:两轮面试   其实经历过,会发现每一次的经历对自身而言都是一种财富,且不说结果如何,是否能够得到offer,单讲这次经历,就值得自己写这篇博文,总结自己不足以便于后期自身能力的提升。   这次之前有一次不太完美的面试经历,当时第一面,面试官明确提出,我需要更加自信一点,并且需要提高自己的代码能力。   1、当场写了自己项目的matlab代码,很明显自己

2017-07-29 17:21:57 504

原创 2个线程模拟卖火车票

2个线程模拟卖火车票最近在看关于进程线程的知识点,然后手动敲一遍代码,但是发现一个问题,运行结果的第一行不知道是什么情况。。先记录下来,供以后继续学习的参考吧#include #include using namespace std;//2个线程卖火车票的小程序DWORD WINAPI Fun1Proc(LPVOID lpParameter); //thread dataDWO

2017-07-27 09:53:26 736

原创 回文数

回文数做个练习,好久没有自己思考算法了#include #include using namespace std;bool symmetry_judge(int num){ if(num==0) return false; vector vec; while(num>0) { vec.push_back(num%10); num/=10; } int

2017-07-24 21:50:09 246

原创 循环链表,栈,队列,链表实现

明天要面试inginging发现把代码放在博客里翻看的时候,好方便,所以花点时间来把自己认为基础的东西放过来,仅供自己复习复习1.循环链表#include #include #include /*1.建立一个具有n个链节点的循环链表2.确定第一个报数人的位置;3.不断从链表中删除节点,直到链表为空;*/typedef struct LNode{ int data

2017-07-20 16:42:49 541

原创 使用python实现深度神经网络--学习笔记

学习实验楼的课程,虽然后面成为会员专属,但是幸好有可爱的同伴们做了非常详细的笔记,完全就是课件再现啊,以至于我能够顺利的学完这节课程。感谢一下哈哈哈哈,以下是链接 使用python实现深度神经网络 接下来是自己整理的笔记吼 以下是各文件#coding=utf-8#preprocess.py 数据预处理文件import sysfrom sci

2017-06-21 15:11:43 663 1

原创 贪心算法

按照自己的想法实现了一下:#include #include #include using namespace std;int main(){ vector things; int TotalWeight = 150; //vector weights, values; int numThing = 7; vector Index; char tmp = 'A'; i

2017-06-15 21:17:46 176

原创 图-深度优先广度优先,以及邻接表的创建

将上篇内容改成了C++版本,为了直接使用queue这个容器,只是为了自学而敲的//#include #include #include #include //#include //#include using namespace std;typedef char VertexType; //顶点类型用户自定义typedef int EdgeType; //边上的权值类型

2017-06-14 23:04:31 281

原创 图-1

#include #include //#include typedef char VertexType; //顶点类型用户自定义typedef int EdgeType; //边上的权值类型用户自定义#define MAXVEX 100 //最大顶点数#define INFINITY 65535 //代表无穷大,用来表示不存在的边的权值为无穷大#def

2017-06-14 11:27:09 186

原创 关于处理语音信号的python库 librosa的安装

由于要进行训练所以用了anaconda 的平台,在该平台下安装了谷歌开源的tensorflow框架,目前还没有搞清楚为什么我不能直接在电脑上安装tensorflow、、、、有知道的可以帮我解惑一下。。。标记到这里也是为了提醒自己,还有问题没有解决。好了,然后我尝试直接在电脑里安装的python3.6中安装librosa,很容易,直接用pip命令ok。但是在anaconda中的tensorflow环

2017-06-01 09:21:52 11603

原创 翻转单词顺序

思路是按照书上内容1.先把全部的字符翻转2.将每个单词翻转,以空格分割单词用了自己的一种方法来实现这个过程第一步很容易完成,主要是第二步我的方法是,用start,end代表一个单词的开始和结束,然后再将其反序来放入新的字符串中一开始总出错,但是整体思路没有任何问题,发现有一个位置粗心导致出错了。。。我用黄色标记了,也标记出了原本错的内容,希望引以为戒。。#include

2017-05-30 11:22:06 378

原创 和为S的两个数字之和&&和为s的连续正数序列

#include #include using namespace std; int FindMinIndex(vectordata) { if(data.size()<1){ return -1; } if(data.size()==1) return 0;

2017-05-26 23:11:33 206

原创 数组中只出现一次的两个数字

哈哈,好多分析本题的思路如最后一个功能函数所示:由算法思路可得:总共的时间复杂度是O(n)因为,第一步,数组全部遍历一边,相等的数位运算异或后为0,剩下两个不同的异或后不为0功能函数1:要是异或后不为零的数,寻找第一个不为零的那一位功能函数2:寻找某一位为0,以及为1的数两个功能函数写完后,继续第二遍遍历,用功能2函数,把某一位为1的数,和*num1做异或,最后能得到一个只

2017-05-26 15:01:01 336

原创 平衡二叉树

class Solution {public: int Depth(TreeNode* pRoot) { if(pRoot==NULL) return 0; int depth = 0; int left=Depth(pRoot->left); int right=Depth(pRoot->right);

2017-05-25 22:46:33 179

原创 数字在排序数组中的个数

//由于两个函数的功能大体一样,而且没有什么大的区别,只有一点细微的差距//一直想要把他们合并在一起,但是发现目前并没有找到什么好的方法class Solution {public: int GetFirstList(vector data, int k, int start, int end) { if(start>end) re

2017-05-25 14:49:57 147

原创 两个链表的第一个公共结点

/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*///这是一个比较简单的题,首先,我们可以知道,单项链表要是有一个公共结点,则这两个链表的形式可以表示为一个‘Y’//一开始的时候,我并没有考虑到两个链表的长度不同问题//看了解析

2017-05-24 23:27:09 118

原创 数组中的逆序对

//书上的方法:class Solution {public: int InvertPairsNum(int* data, int* copy,int start, int end) { if(start==end){ copy[start]=data[start]; return 0; }

2017-05-24 20:42:33 426

原创 最大子序列和的问题

//运用了两个变量,一个是当前最大值CurrentMax,还有一个就是当前的数组和sum//期初的思路是,当前值<sum时,更新当前值//后来发现忽略了一个问题,就是,sum得更新情况//所以在sum+=array[i]之后,要比较,sum和当前数组值的大小//若当前和小于当前的array[i],则更新,sum=array[i]//接下来继续判断,当CurrentMax<sum

2017-05-18 20:48:56 314

原创 八皇后问题

剑指offer上的思路,变换了下用来解决八皇后问题递归思想//为了简化问题,我们将原本应使用的二维数组,巧妙的转换成了一维数组//用ColumnIndex数组来表示,用ColumnIndex[i]来表示第i行,处于哪一列//数组我们初始化为,元素与下标相同//进行元素的全排列也就是0-7的全排列//然后对每一种情况进行判断:是否不在一个对角线上//满足条件,num++//为了保

2017-05-18 20:47:18 150

原创 安装pygame

在网上下载pygame的安装包在cmd命令行下,进入安装包所在文件夹然后使用红色线标记的命令进行安装,安装结束后查看版本

2017-05-18 11:28:38 463

原创 windows7下python3.6中用pip安装numpy

其实正确安装python3.6后,在安装目录里就有pip.exe文件,只不过用的时候,要进入pip的安装目录下进行安装numpy等。如进入这个目录, D:\Program Files\Python\Python36\Scripts  之后显示然后再输入: pip install numpy 就好了

2017-05-16 14:31:39 8188 4

原创 C++学习笔记

最近在看剑指offer,发现很多自己并不怎么熟悉的关于C++的知识点。   希望每天整理一点遇到的新知识,不管怎样,每天进步一点点,有所收获就算是没有辜负这一天的生命,毕竟每一天对我来说都是余生中的最新一天。突然如此感慨只是为了激励一下自己,不论学习还是生活都不要太功利,所有的细节最终都会堆砌成浑厚的人生。排序函数    函数名                   

2017-05-15 21:58:40 166

原创 二叉搜索树与双向链表

题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 二叉搜索树性质:对于树中的每个节点X,它的左子树中所有关键字值小于X的关键字值,它的右子树所有关键字值大于X关键字值。                                                                          二叉搜索树

2017-05-11 14:11:34 237

原创 复杂链表复制

//递归版本:仅仅作为一个功能函数,并没有写外部的接口 RandomListNode* Clone(RandomListNode* pHead) { if(pHead==NULL){ return NULL; } RandomListNode* clonenext=new RandomListNode(pHead->label); clone

2017-05-09 17:02:36 279

原创 二叉树重构

#include #include using namespace std;//先验知识://前序:第一个数就是根节点//中序:根节点位于中间,刚好将其左右子树分开//运用方法:递归//找到根节点,将其数值放入value,递归的分别根据左右子树进行二叉树重建//根据函数已有的接口,因此,需要将左(右)子树的前序,中序分别用vector进行赋值//最后递归的对左右进行重建,方法

2017-04-25 16:08:32 271

原创 链表应用--多项式加法、乘法

//链表学习:多项式应用//通过引入InsertPoly函数来完成加法乘法操作//以及类似功能的Creat()函数,使我的多项式按照指数下降的方式插入节点//而不需要在输入时人为的控制#include using namespace std;//多项式ADT链表实现的类型声明typedef struct Node* PtrToNode;struct Node{int Coefficient;int

2017-04-20 09:59:17 477

原创 希尔排序(ShellSort)

//希尔排序:缩小增量排序//关键:增量序列的选择。不同的序列会影响算法的最坏运行时间//shell增量:ht=N/2(取下届),下届为(N^2)//Hibbard增量:1,3,7,...2^k-1,最坏运行时间下届为(N^3/2)//对于增量hk,所有相隔hk的元素都被排序//编程简单,运行时间分析复杂//本例使用shell增量#include using nam

2017-04-18 10:38:59 248

原创 快速选择排序(quickselect)--基于quicksort

//思想依然是:递归//关键:寻找枢纽元//方法:三值中值//问题,要是left==right时,如何用快速排序?该程序结合了插入排序//在快速排序的基础上,进行快速选择排序,最坏情况O(N2),最好情况O(N)//选择第m个最小元,对应位置m-1//对于快速选择排序,该算法节省的时间在于,它并没有对第m个数所在范围外的那一部分进行排序。。。。。//因此,输出的排序后数组,后半部分并

2017-04-18 09:30:54 523

原创 快速排序+插入排序

//思想依然是:递归//关键:寻找枢纽元//方法:三值中值//问题,要是left==right时,如何用快速排序?该程序结合了插入排序#include //#define cutoff 3using namespace std;int Median3(int* a, int left, int right);int swap(int* t1, int* t2);void Qso

2017-04-17 22:30:34 983

原创 排序算法--归并排序(MergeSort)

//归并排序的特点:递归的应用//需要准确并深入的理解递归的思想#include #include # define NUM 8using namespace std;void Msort(int* a, int*tmpa, int left, int right);int* MergeSort(int* a, int N);void Merge(int* a , int* tm

2017-04-17 10:07:13 274

空空如也

空空如也

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

TA关注的人

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