- 博客(1083)
- 资源 (8)
- 收藏
- 关注
原创 如何用auto_ptr做为函数的参数进行传递
auto_ptr跟指针的原理是一样的,只不过在使用会自动释放内存。但是在函数中作为auto_ptr参数使用时,一定要注意控制权的转移问题。void testptrAddNumber(MCMDTLog* mmcLog){ mmcLog->addNumber();}void func(auto_ptr<int>& ap){ cout <...
2018-11-15 09:31:48 1476
转载 c++中虚函数和纯虚函数定义
只有用virtual声明类的成员函数,使之成为虚函数,不能将类外的普通函数声明为虚函数。因为虚函数的作用是允许在派生类中对基类的虚函数重新定义。所以虚函数只能用于类的继承层次结构中。 一个成员函数被声明为虚函数后,在同一类族中的类就不能再定义一个非virtual的但与该虚函数具有相同的参数(包括个数和类型)和函数返回值类型的同名函数。 根据什么考虑是否把一个成员函数声明...
2018-11-08 10:06:07 1448
转载 c/c++头文件中#ifndef/#define/#endif的用法
想必很多人都看过“头文件中用到的 #ifndef/#define/#endif 来防止该头文件被重复引用”。但是是否能理解“被重复引用”是什么意思?头文件被重复引用了,会产生什么后果?是不是所有的头文件中都要加入#ifndef/#define/#endif 这些代码? 1、 其实“被重复引用”是指一个头文件在同一个cpp文件中被include了多次,这种错误常常是由于include嵌套造成...
2018-11-08 08:54:24 1833 1
转载 C++类里面的哪些成员函数是内联函数?
类定义的内联函数分为以下3种:1.隐式内联class Person{public: Person(const string &name) { Name = name; } void printName()//printName 定义在类里面是隐式内联函数 { cout << Name << endl; }private: s...
2018-11-05 19:33:03 12156 6
转载 linux硬件设备操作函数 open
今天在写文件操作,需要使用open函数,功能是在文件后面追加写内容,当时写代码验证时总是没有追加写内容,发现其中文件操作的mode没写对,导致该问题这是文件I/O的常用函数,open函数,open函数用来打开一个设备,他返回的是一个整型变量,如果这个值等于-1,说明打开文件出现错误,如果为大于0的值,那么这个值代表的就是文件描述符。一般的写法是if((fd=open("/dev/ttys0",...
2018-10-30 10:27:55 579
转载 mmap分析
1、mmap基本概念mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。相反,内核空间对这段区域的修改也直接反映用户空间,从而可...
2018-08-14 15:36:41 320
转载 ACE_Task介绍
ACE_Task 是ACE 中的任务或主动对象“处理结构”的基类。在ACE 中使用了此类来实现主动对象模式。所有希望成为“主动对象”的对象都必须从此类派生。你也可以把ACE_Task看作是更高级的、更为面向对象的线程类。相当于我们具体业务是继承ACE_Task这个类进行实现的。ACE_Task处理的是对象,因而在构造OO程序时更便于思考。因此,在大多数情况下,当你需要构建多线程程序时,较好的选择是...
2018-07-10 14:06:24 770
原创 ACE Lock类介绍
ACE Lock类属锁类属包含的类包装简单的锁定机制,比如互斥体、信号量、读/写互斥体和令牌等。这里我就以互斥体为例简单的介绍一下其使用方法,对其它的锁类进行一些简单的说明。1.互斥体的使用。互斥体用于保护共享的易变代码,也就是全局或静态数据。这样的数据必须通过互斥体进行保护,以防止它们在多个线程同时访问时损坏。在ACE中可以通过ACE_Thread_Mutex实现线程的访问互斥,下面的例子演示A...
2018-07-10 11:39:22 439
原创 ACE线程管理机制
介绍ACE线程管理机制主要是结合网上已有知识进行汇总加上自己的理解进行整理:ACE线程管理主要涉及下面几个大类:ACE Lock类属ACE Guard类属ACE Condition类属ACE Synchronization类面向对象的线程类ACE_Task...
2018-07-10 11:32:56 383
转载 机器学习之线性回归(Linear Regression)
线性学习中最基础的回归之一,本文从线性回归的数学假设,公式推导,模型算法以及实际代码运行几方面对这一回归进行全面的剖析~一:线性回归的数学假设1.假设输入的X和Y是线性关系,预测的y与X通过线性方程建立机器学习模型2.输入的Y和X之间满足方程Y=X+e,e是误差项,噪音项,假设e是独立同分布的,服从IID(independent and identity distribution)和均值为0,方差...
2018-05-14 19:33:01 990
原创 Python中read()、readline()和readlines()三者间的区别和用法
在python中读取文件常用的三种方法:read(),readline(),readlines(),在读取文件时经常用到三种写法。以前看书的时候觉得这东西很简单,一眼扫过,待到用时却也只知道有这么几个方法,但是在实际使用时突然想不起来具体怎么使用。1、read()函数read([size])方法从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它范围为字符串对象,他的...
2018-05-07 21:09:09 8160
转载 auto_ptr使用总结
(1) auto_ptr的意义auto_ptr是一种智能指针,当系统异常退出的时候避免资源泄漏(内存)。其他的资源还对应其他的智能指针。(2) auto_ptr的使用std::auto_ptr<int> test(new int(1));test将是一个auto_ptr的对象,使用一个int指针进行初始化。test可以象其他指针一样使用,如使用* 使用->但是++不可以使用,以后...
2018-04-10 17:48:28 312
原创 Python爬虫学习(1)
使用Python爬取网页中html内容# coding=utf-8import urllibimport urllib2import reurl = "http://3ms.huawei.com/km/blogs/details/5171043"request = urllib2.Request(url)page = urllib2.urlopen(url)html = page
2018-02-05 21:09:57 427
原创 Python中文问题 或 SyntaxError: Non-ASCII character '\xe8' in file
如果在运行时出现SyntaxError: Non-ASCII character '\xe8' in file 是因为源文件中有中文出现:Python 默认的是ASCII 编码方式,如果出现中文会出现问题,所哟必须在代码的第二行或第一行 显示的声明编码方式(已注释的方式,即"#"开始): 使用utf-8编码方式即可解决,即把置换为 utf-8
2018-02-05 20:22:27 1894
原创 caffe matlab 提取全链接层特zheng
clc;clear all;addpath('..') %加入+caffe路径load da2.mat%%% caffe.set_mode_cpu();%设置CPU模式model = 'deploy.prototxt';%模型weights = 'lenet_iter_2066.caffemodel';%参数net=caffe.Net(model,'test');%测试net.
2017-02-20 20:54:32 1862
原创 Summary Ranges 总结区间
Given a sorted integer array without duplicates, return the summary of its ranges.For example, given [0,1,2,4,5,7], return ["0->2","4->5","7"].Credits:Special thanks to @jianchao.li.fighter
2016-08-10 18:20:49 515
原创 求二维数组中最大子数组的和
题目:给出一个 m*n 的二维矩阵(元素可为正可为负),求该二维矩阵的一个子矩阵,且此子矩阵中所有元素的和最大,并输出该矩阵的和。分析:因为输出的是矩阵,把每列数据中第i行到第j行进行相加,这样得到一个列矩阵,a[1......n],这样就转化成一个一维整数数组中最大子数组的和,通过求得循环不同第i行到第j行之间的值之和,最后找到最大值。#include #include
2016-07-29 16:41:48 2884
转载 今年暑假不AC
题目1434:今年暑假不AC时间限制:1 秒内存限制:128 兆特殊判题:否提交:307解决:180题目描述:“今年暑假不AC?”“是的。”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*%...”确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视作为球迷,一定想看尽量多的完整的比赛,
2016-07-29 10:42:56 609
转载 九度-1463-招聘会
题目描述:又到毕业季,很多大公司来学校招聘,招聘会分散在不同时间段,小明想知道自己最多能完整的参加多少个招聘会(参加一个招聘会的时候不能中断或离开)。输入:第一行n,有n个招聘会,接下来n行每行两个整数表示起止时间,由从招聘会第一天0点开始的小时数表示。n 输出:最多参加的招聘会个数。样例输入:39 1010 208 15
2016-07-29 10:25:14 420
转载 Jobdu MM分水果
题目1420:Jobdu MM分水果题目描述:Jobdu团队有俩PPMM,这俩MM干啥都想一样。一天,富强公司给团队赞助了一批水果,胡老板就把水果派发给了这俩MM,由她们自行分配。每个水果都有一个重量,你能告诉她们怎么分才使得分得的重量差值最小吗?输入: 输入有多组数据,每组数据第一行输入水果个数n(1输出:对每组输入输出一行,输出可以得到的最小
2016-07-29 09:36:34 654
转载 两船载物问题
题目1462:两船载物问题时间限制:1 秒内存限制:128 兆特殊判题:否提交:690解决:167题目描述:给定n个物品的重量和两艘载重量分别为c1和c2的船,问能否用这两艘船装下所有的物品。输入:输入包含多组测试数据,每组测试数据由若干行数据组成。第一行为三个整数,n c1 c2,(1 接
2016-07-29 09:32:25 587
转载 最小邮票数
题目描述: 有若干张邮票,要求从中选取最少的邮票张数凑成一个给定的总值。 如,有1分,3分,3分,3分,4分五张邮票,要求凑成10分,则使用3张邮票:3分、3分、4分即可。输入: 有多组数据,对于每组数据,首先是要求凑成的邮票总值M,M输出: 对于每组数据,能够凑成总值M的最少邮票张数。若无解,输出0。样例
2016-07-29 09:18:10 742
转载 0-1背包问题(一维数组解法)
0-1背包问题: 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 这个问题的特点是:每种物品只有一件,可以选择放或者不放。算法基本思想:利用动态规划思想 ,子问题为:f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。其状态转移方程是:f[i][v]=m
2016-07-29 09:05:48 2614 1
转载 最长上升子序列
问题描述 对于一串数A={a1a2a3…an}它的子序列为S={s1s2s3…sn},满足{s123…sm}。求A的最长子序列的长度。动态规划法算法描述: 设数串的长度为n,L[i]为以第i个数为末尾的最长上升子序列的长度,a[i]为数串的第i个数。 L[i]的计算方法为:从前i-1个数中找出满足a[j]表达
2016-07-28 16:47:42 335
转载 最长重复子串
首先这是一个单字符串问题。子字符串R 在字符串L 中至少出现两次,则称R 是L 的重复子串。重复子串又分为可重叠重复子串和不可重叠重复子串。方法:KMP算法求解在KMP算法的关键就是求解next数组,针对next[j]=k,可以得到P[0,1,...,k-1]=P[j-k,j-k+1,...,j-1]。看到P[0,1,...,k-1]=P[j-k,j-k+1,...,j-1
2016-07-28 16:10:07 668
转载 最长回文子串
回文串是指这个字符串无论从左读还是从右读,所读的顺序是一样的;简而言之,回文串是左右对称的。现在,对于一个给定的母串abcdedcb可以找出子串a, ded, cdedc, bcdecdb等均是回文串;显然,bcdecdb是其中最长的那一个。但是该如何找出最长的回文子串呢?穷举法/*判断str[i..j]是否为回文串*/int isPalindrome(char *s
2016-07-28 15:45:04 374
原创 求字符串中最长无重复字符的子串
题目:求一个字符串中最长的没有重复字符的子串。思路:用hash表从i遍历查看包含i的最长 无重复子串。int max_unique_substring2(char * str) { int i,j; int begin; int maxlen = 0; int hash[256]; int n = strlen(str); for(
2016-07-28 15:29:50 838
转载 0-1背包问题
背包问题,常见的有三种类型:基本的0-1背包、完全背包和多重背包、二维背包 首先是基本的0-1背包问题。因为这里的物品一般指花瓶、玉器什么的,要么拿、要么不拿,只有0和1两种状态,所以也叫0-1背包。0-1背包虽然简单,却很重要,是“万法之源”,是其他几类问题的基础。 初学者有时会认为,0-1背包可以这样求解:计算每个物品的Vi/Wi,然后依据Vi/
2016-07-28 15:19:30 351
原创 判断一个数组是否是另一个数组的子集
给两个数组:arr1[0..m-1] 和arr2[0..n-1]. 判断arr2是否是arr1的一个子集合,两个数组都是未排序的。例子:Input: arr1[] = {11, 1, 13, 21, 3, 7}, arr2[] = {11, 3, 7, 1}Output: arr2[] is a subset of arr1[]Input: arr1[] = {1, 2
2016-07-28 11:01:29 6666
转载 数组中重复的数字
题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。分类:数组解法1:使用map来记录重复数字即可,由于数字的大小在0-n-1之内,可以使用数组来代替ma
2016-07-28 10:26:19 285
转载 删除链表中重复的结点
题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。例如,链表1->2->3->3->4->4->5 处理后为 1->2->5/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.va
2016-07-28 10:19:45 312
转载 字符流中第一个不重复的字符
题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。import java.util.ArrayList;public class Solutio
2016-07-28 10:18:03 362
转载 旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。分类:数组,二分法解法1:对于旋转数组,使用二分法来查找最小元素。取中间mid元素,如果array[mid]>array[end],说明最小元素应该在mid的右边,因为我们实
2016-07-28 10:14:50 279
原创 变态跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。分类:数组解法1:关于本题,前提是n个台阶会有一次n阶的跳法。分析如下:f(1) = 1f(2) = f(2-1) + f(2-2) //f(2-2) 表示2阶一次跳2阶的次数。
2016-07-28 10:13:51 260
原创 不用加减乘除做加法
题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。分类:数学解法1:考虑位运算,分三步:第一步:不进位加 n1第二步:计算进位 n2第三步:n1 和 n2求和(重复第一步,直到进位为0,即n2=0)在第一步中,采用异或第二步中,采用按位与,左移一位public class Solution { publ
2016-07-28 10:12:50 301
原创 字符串编辑距离
要想把字符串S1变成S2,可以经过若干次下列原子操作:1.删除一个字符2.增加一个字符3.更改一个字符字符串S1和S2的编辑距离定义为从S1变成S2所需要原子操作的最少次数。解法跟上面的最长公共子序列十分相似,都是动态规划,把一个问题转换为若干个规模更小的子问题,并且都借助于一个二维矩阵来实现计算。约定:字符串S去掉最后一个字符T后为S',T1和T2分别是S1和S2的最
2016-07-28 09:52:16 290
原创 最长公共子串
找 两个字符串的最长公共子串,这个子串要求在原字符串中是连续的。其实这又是一个序贯决策问题,可以用动态规划来求解。我们采用一个二维矩阵来记录中间的结 果。这个二维矩阵怎么构造呢?直接举个例子吧:"bab"和"caba"(当然我们现在一眼就可以看出来最长公共子串是"ba"或"ab") b a bc 0 0 0a 0 1 0b 1 0 1
2016-07-28 09:42:40 344
原创 最长公共子序列
最长公共子串(Longest Common Substirng)和最长公共子序列(Longest Common Subsequence,LCS)的区别为:子串是串的一个连续的部分,子序列则是从不改变序列的顺序,而从序列中去掉任意的元素而获得新的序列;也就是说,子串中字符的位置必须是连续的,子序列则可以不必连续。动态规划方法:1、序列str1和序列str2 ·
2016-07-28 09:13:01 293
原创 Longest Increasing Subsequence
Given an unsorted array of integers, find the length of longest increasing subsequence.For example,Given [10, 9, 2, 5, 3, 7, 101, 18],The longest increasing subsequence is [2, 3, 7, 101], ther
2016-07-28 08:51:54 301
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人