- 博客(35)
- 收藏
- 关注
原创 opencv的项目配置
右击项目->属性,需要配置三个地方:调试,vc++目录,链接器(输入(附加依赖项))调试这里配置的是opencv的bin目录,因为运行在debug模式下,所以这里需要配置vc++目录中的包含目录配置的是opencv的include路径,库目录配置的是opencv的lib路径连接器->输入->附加依赖项,中配置的是用到的动态链接库...
2019-01-17 17:25:46
309
原创 pycharm+ caffe 问题及解决
1.在pycharm中运行报错 no mouule named caffe ,但是在终端下可以import caffe解决:Go to File –> settings –> project interpreter 点击最后一个按钮,显示interpreter paths ,在里面添加相应的caffe中的python 路径例如:/home/user/caffe/python...
2019-01-14 19:20:43
933
原创 机器学习入门
首先明白要用什么:选择了用linux(ubuntu)+keras+pycharm省去了配置keras的步骤简单的配置了一下pycharm(pycharm主要要配置解释器),简单记录一下其中遇到的问题:【pycharm启动之后消失,无法找回,刚开始总是要通过kill的手段,后来通过alt+tab寻回】【本地window下的pycharm和服务器端的pycharm进行同步,没有权限写入...
2018-11-02 20:18:33
179
原创 网络,网络编程
网络:协议(七层,五层模型分别是什么,干什么的,对应哪些协议)arp协议IP协议(头部)tcp协议(三次握手,拥塞控制,滑动窗口)http协议(头,方法,状态码,请求过程) 网络编程:基本api(功能,对应阶段,基本流程(客户端,服务器端))讲一个简单的示例程序的流程(回射服务或者更复杂一点的程序)I/O复用信号,定时器多进程多线程编程调试...
2018-09-25 20:41:25
808
1
原创 手写算法
算法:目录判断一个数组是否是递增的对于一个排序数组,找到给定元素的最小上界(大于它的最小值)不用加运算实现加法双栈队列去除重复数字链表的交点动态规划回文子串链表合并两个数组交集字符串去空格十六进制转十进制栈实现队列,队列实现栈求一个集合的所有子集,递归实现,非递归实现(深度优先搜索)一个数组,里面大多数都是成对的,只有两个数没有成对,求这...
2018-09-25 20:33:38
1072
原创 面经-c++
c++11的新特性:https://www.cnblogs.com/bluebean/p/5721686.html关键字语法(auto nullptr(null是宏是无类型的无法解决函数重载的问题,nullptr是有类型的) 范围for lamada表达式(一个简单的函数,可以定义在函数内部的函数))stl(array 单向链表slist 哈希map,set)增加了...
2018-09-16 09:58:41
622
原创 面经-操作系统
虚拟内存和物理内存(虚拟地址物理地址)物理内存是实际的内存空间,只有4g,所有进程共享的虚拟内存空间是每个进程独有的内存空间(4G),各个进程的内存空间具有类似的结构(内核空间,栈,堆,代码段),每次访问虚拟内存空间的某个地址都需要把虚拟地址转换为物理地址,需要借助页表,页表分两个部分,第一部分记录此页是否存在,第二部分记录对应的物理页,当访问的时候发现该页不存在就引发缺页中断,然后再加载...
2018-09-16 09:58:29
338
原创 面经——数据库
sql优化选取最合适的字段属性(字段长度不宜过长,能用数值型就用数值型(比文本型快))使用连接来代替子查询使用union来代替创建的临时表使用事务(从安全的角度考虑,定义事务 begin commit)使用锁(从一致性的角度考虑)使用外键(保障一致性,数据之间的关联关系 foreignkey( *) reference talble(*))使用索引,在经常需要查询的...
2018-09-16 09:57:31
251
原创 最长递增子序列
是子序列,因此可以不连续,运用动态规划https://segmentfault.com/a/1190000012748540思想:某一个元素处的最长递增子序列是,他前面,比他小的元素,的最长递增子序列的长度加一中最大的。最后所有元素的最长递增子序列中最大的就是最后的结果int max_asc_sub(vector<int>& data){ int n = dat...
2018-09-14 17:20:08
109
原创 KMP算法
传统的字符串比较需要不停的回溯,重复比较,但是已经比较并匹配的字符其实是已知的就是待匹配字符串自身的字符,如此可以根据这些已知信息减少回溯的字符。整个字符串的匹配只需要不停匹配下一个字符。那么待匹配字符串每次回溯的位置则根据自身决定(根据前面已经匹配的字符串)并不需要每次回溯的开头的位置。既然是根据自身,就可以先计算出每个字符的回溯位置,即next数组。next数组即表示从第二个字符开始到当前字符...
2018-09-13 16:31:48
125
原创 简化版聊天工具
项目名称:简化版聊天工具项目描述:实现了一个简单的聊天工具,这个聊天工具具有用户注册,登录,一对一聊天,多人群聊,查看聊天记录,查看在线用户功能这个项目的主要实现逻辑?服务器端:主线程进行监听以及处理连接,子线程处理已经连接的客户的相关请求。(可以联系到两种I/O处理模型)(每一个客户请求都会创建一个线程)服务器端维护一个在线用户链表,每登录一个用户,在链表中插入一个节点;遍历...
2018-08-31 19:12:53
705
转载 自下而上建立堆时间复杂度推导
建立堆的顺序是bottom-top的。 正确的证明方法应当如下:具有n个元素的平衡二叉树,树高为㏒n,我们设这个变量为h。 最下层非叶节点的元素,只需做一次线性运算便可以确定大根,而这一层具有2^(h-1)个元素,我们假定O(1)=1,那么这一层元素所需时间为2^(h-1) × 1。 由于是bottom-top建立堆,因此在调整上层元素的时候,并不需要同下层所有元素做比较,只需要同其中之...
2018-08-30 16:59:02
1937
2
原创 链表的插入排序
思想:和数组的插入排序的区别是链表节点是不连续的,借助一个数组来存放链表节点的指针,使他成为顺序的,就和数组的插入排序一样了,元素的移动不需要移动具体的节点(即不需要修改指针),只需要修改对应的值即可/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *n...
2018-08-29 10:56:58
232
原创 测试
软件开发的过程,模式黑盒测试(静态黑盒测试,动态黑盒测试)白盒测试(静态白盒测试,动态白盒测试)测试的方面(软件本身测试,配置测试,兼容性测试,外国语言测试,易用性测试,测试文档,软件安全性测试,性能测试)一个具体的例子:网站测试其他(beta测试,冒烟测试,缺陷轰炸,能力成熟度模型,通过性测试,失效性测试,单元测试,系统测试,回归测试,桩,驱动程序,灰盒测试) ...
2018-08-25 11:33:33
183
原创 面向对象设计思想
封装、继承、多态(既然是设计思想我想设计模式才是主要的)封装:public,protect,private继承:单继承(public,private),多重继承,虚拟继承多态:静态多态(函数重载,模板),动态多态(虚函数)封装的目的:隐藏对象的属性和实现细节,对外提供公开接口。降低和用户代码的耦合,提高安全性,方便代码的修改。例如,如果实现需要修改,只需要修改实现内部的细...
2018-08-25 11:33:24
502
原创 二叉树重建(前序遍历+中序遍历+不能重复)
主要是确定左子树的区间和右子树的区间,然后递归的进行,首先根据前序遍历的根节点(一定在区间的第一个位置)在中序遍历中找到对应的位置,就可以确定左子树的长度,从而就可以确定前序遍历的左子树以及右子树以及中序遍历的左子树和右子树struct TreeNode{ char val; TreeNode(){ val = 0; left = nullptr; right = nullptr; }...
2018-08-25 09:12:26
543
原创 二叉树相关问题(遍历,树高,树相同,最大距离)
二叉树的非递归前序中序后序遍历https://blog.csdn.net/u014465639/article/details/71076092求二叉树的高度//获得树的高度int getdepth(TreeNode* root){ if (root == nullptr)return 0; return max(getdepth(root->left), getdept...
2018-08-25 09:12:07
259
原创 全排列
深搜:每次从剩下的没有被选择过的元素中选择一个元素放在当前位置,然后继续按同样的方法确定下一个位置的元素,知道所有的元素都被选择过则完成一次排列void Permutation(string& str, string& path, int depth,set<string>& result,vector<bool>& visit){/...
2018-08-25 09:11:38
128
原创 数据库
基本的SQL语句(增删查改,建删改表,建删索引,视图)事物的四个特性(ACID,四个隔离级别,串行化)数据库并发:锁机制https://www.cnblogs.com/fanp/p/4633453.htmlmysql的引擎索引(B+树)基本的sql语句:增删查改:insert into tablename( ) values();delet from tablename...
2018-08-25 09:09:52
196
原创 操作系统
1.内存管理:固定分区,动态分区,虚拟内存(页式,段式,段页式) 2.进程线程:进程和线程的区别多进程、并发(并发->进程同步互斥->进程间通信 读者写者问题,消费者生产者问题,死锁问题)同步通信方式死锁问题(产生条件,避免办法,银行家算法,哲学家问题)僵尸进程(如何避免僵尸进程) 3.linux文件系统:内存中的形式,软连接和硬连接 ...
2018-08-25 09:09:21
248
原创 STL
STL六大组件(容器,算法,迭代器,配接器,仿函数,配置器)traits编程技法基本容器的实现序列容器:vector、list、deque、slist(单向链表)关联容器:红黑树—map、set、multimap、multiset, 哈希表—hash_map hash_set hash_multimap hash_multiset其他:stack(默认底部结构de...
2018-08-25 09:09:09
164
原创 面经-网络
基础知识:网络:cookie和session的区别:这两个都是为了解决http协议无状态的问题而提出的,两者合作共同解决这一个问题cookie是存放在客户端的,记录一个sessionid,是服务器发送给客户端用来唯一标识一个客户的session存放在服务器端,利用sessionid来区分不同的客户跳跃表http://blog.jobbole.com/111731/h...
2018-08-25 09:08:04
616
原创 (元素不重复的)集合中元素的组合__深搜
考虑一颗搜索树,对搜索树的所有路径进行遍历得到结果。搜索树的每个分支考虑的是选取或者不选取当前元素void combine(int n, int depth,vector<vector<int>>& result,vector<bool>& visit){ if (depth >= n){ vector<int> t...
2018-08-21 15:58:11
593
原创 求C(n,m)的值
递归版本,利用公式c(n,m)=c(n-1,m)+c(n-1,m-1)意义: 从n里面取m的方法,一种是取了当前元素,那么再从剩下的n-1个里面取m-1个(因为已经取了一个),另一种是没有取当前元素,那么再从剩下的n-1个里面取m个int combine1(int n, int m){ if (n < m)return -1; if (m == 0)return 1; if ...
2018-08-21 15:51:08
2124
原创 Win7系统下安装centos7双操作系统(U盘安装)
电脑基本情况:win7 64位操作系统,两块硬盘,硬盘1(分区C,win7操作系统所在盘),硬盘2(分区D,E,F)步骤:1、腾出空间磁盘管理中压缩出安装centos7的空闲空间(在硬盘2的D分区中压缩出了50G空闲空间)2.下载并且刻录iso文件(刻录用软碟通)下载地址;http://115.156.188.229/isoredirect.centos.org/cento...
2018-08-21 15:29:30
747
原创 VM下安装Linux操作系统(centos7 ubuntu)
1下载VM并安装2.下载Linux操作系统文件(centos7.iso)3.在VM启动后,点击创建新的虚拟机,根据默认选项一步一步来,选择刚刚下好的iso文件所在的路径,开始安装,接下来和正常安装操作系统一样。 安装过程中遇到的问题及解决:1.打开vm创建新的虚拟机时显示: 解决方法:按照上面的提示,在BIOS里面打开Intel VT-x的支持即可。2.选择好操作系...
2018-08-21 15:28:24
357
原创 背包问题变种
0-1背包:n道数学题分值为A[I] A[2] A[3].....A[N] 1<=A[i]<=100 求怎么拼凑得到100分,一共需要多少道题目,分别是哪些题目输入:3 10 30 60 输出:3 1 2 3int main(){ int n = 0; while (cin >> n&&n>0){ ...
2018-08-21 15:09:02
1216
原创 最短路径(dijist算法)
单源最短路径,计算一个顶点到另一个顶点的最短路径贪心思想,每次找距离最近的点,并且更新距离,更新公式:path[i]=min(path[i],path[index]+map[index][i])long walk(vector<vector<long>>& map, long s, long t, int n){ vector<long> p...
2018-08-21 11:04:34
4732
原创 链表快排
题目描述编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针。注意:分割以后保持原来的数据顺序不变。 思路:分成两个链表。然后再合并成一个,将原来的链表中大于给定值的节点债下来串联形成一个新的链表,最后将两个链表合并/*struct ListNode {i...
2018-08-21 10:38:05
249
原创 双栈排序
题目描述请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中。给定一个int[] numbers(C++中为vector&ltint>),其中第一个元素为栈顶,请返回排序后的栈。请注意这是一个栈,意味着排序过程中你只能访问到第一个元素。测试样例:[1,2,3,4,5]返回:[5,4...
2018-08-21 10:30:13
192
原创 背包问题
0-1背包:有n个物体,价值分别为 v1 v2 v3....vn 重量分别为w1,w2,w3....wn 现在有一个背包能放下重量为x的物体,问如何放才能让背包里所放总价值达到最大,最大是多少 动态规划:dp[n][x] n个物体背包重量x需要一个n*x的数组,dp[i][j]表示放前i件物品背包容量是j能获取的最大价值状态方程式:dp[i][j]=max(dp[i-1][j...
2018-08-21 10:17:10
133
原创 最大和子矩阵(动态规划)
题目描述有一个正整数和负整数组成的NxN矩阵,请编写代码找出元素总和最大的子矩阵。请尝试使用一个高效算法。给定一个int矩阵mat和矩阵的阶数n,请返回元素总和最大的子矩阵的元素之和。保证元素绝对值小于等于100000,且矩阵阶数小于等于200。测试样例:[[1,2,-3],[3,4,-5],[-5,-6,-7]],3返回:10基本思想:将二维最大和转换为以为最大子和...
2018-08-21 09:38:04
775
原创 Intersection of Two Linked Lists(两条链表有无交点)
Write a program to find the node at which the intersection of two singly linked lists begins.For example, the following two linked lists:A: a1 → a2 ↘
2017-09-09 16:53:19
208
原创 168. Excel Sheet Column Title
Given a positive integer, return its corresponding column title as appear in an Excel sheet.For example: 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB class S
2017-09-08 18:41:10
193
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人