- 博客(83)
- 收藏
- 关注
转载 Python 2.x 中的 String 与 Unicode
在 Python 2.x 中是有两种字串符相关类型的,分别为 String 和 Unicode,两者提供的接口非常类似,有时候又能自动转换,蛮容易误导人的。在 Python 3 中 这两个类型分别用 Bytes 和 String 替代了。这个名字更能说明两者的本质:Python 2.x 中的 String 中存储的是没有编码信息的字节序列,也就是说 String 中存储的是已经编码过后的序列,但他
2014-11-09 19:25:17
955
原创 python 正则表达式匹配字符串末尾的错误
我们都知道'\A'm = re.match('hello$','hello world! hello')
2014-11-08 15:16:52
5598
原创 C++ 类构造函数初始化顺序
#include using namespace std;class OBJ1{public: OBJ1(){ cout <<"OBJ1\n"; }};class OBJ2{public: OBJ2(){ cout <<"OBJ2\n"; }};class Base1{public: Base1(){ cout <<"Base1\n"; }
2014-11-01 00:13:21
633
转载 最大子序列和,最长递增子序列,最长公共子串,最长公共子序列,字符串编辑距离,最长不重复子串,最长回文子串
一、最大子序列和这里把最大子序列和放在第一个位置,它并不是字符串相关的问题,事实上它的目的是要找出由数组成的一维数组中和最大的连续子序列。比如[0,-2,3,5,-1,2]应返回9,[-9,-2,-3,-5,-3]应返回-2。1、动态规划法你也许从这两个例子中已经可以看出,使用动态规划的方法很容易完成这个任务,只要前i项的和还没有小于0那么子序列就一直向后扩展,
2014-10-30 10:33:16
1156
转载 导致内存泄漏的原因
内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。应用程序一般使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块,否则,这块内存就不能被再次使用,我们就说这块内存泄漏了内存泄漏可以分为4类: 1. 常发性
2014-10-28 16:11:34
1705
转载 求职经验
经过了8月-10月的血雨腥风,找工作终于告一段落,自己也基本上定在华为、南瑞继保、360这三家之一了。下面,我就如何去找工作,如何准备,做一个分享。什么最重要?基础!基础!看书!看书!建议看书主要从C/C++,Linux操作系统,网络与数据库,应试算法这几个方向入手,循序渐进。一、时间表如果你是研二,从现在开始准备,建议你做好计划,我建议的时间表如下,请针对自己情况
2014-10-28 16:01:50
489
原创 IP地址的存储形式
#include using namespace std;int main() { unsigned int ip = 0x1f4e2342; unsigned char* result = (unsigned char*)(&ip); printf("%d.%d.%d.%d",result[3], result[2], result[1],result[0]);}
2014-10-27 20:01:30
759
转载 C/C++中各种类型int、long、double、char表示范围(最大最小值)
#include#include#include using namespace std;int main(){ cout << "type: \t\t" << "************size**************"<< endl; cout << "bool: \t\t" << "所占字节数:" << sizeof(bool); cout ::max
2014-10-27 16:18:58
827
转载 Reservoir Sampling 蓄水池抽样 海量数据不知道总数只能遍历一次随机抽样问题
问题:如何随机从n个对象中选择一个对象,这n个对象是按序排列的,但是在此之前你是不知道n的值的。 思路:如果我们知道n的值,那么问题就可以简单的用一个大随机数rand()%n得到一个确切的随机位置,那么该位置的对象就是所求的对象,选中的概率是1/n。 但现在我们并不知道n的值,这个问题便抽象为蓄水池抽样问题,即从一个包含n个对象的列表S中随机选取k个对象
2014-10-27 16:08:19
736
转载 C random C ++rand函数应用
random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。但在C语言中int random(num)可以这样使用,它返回的是0至num-1的一个随机数。 可改用C++下的rand函数来实现。rand()%n 范围 0~n-1rand()主要是实现 产生随机数,其他我们在这里可以无视他显然任意 一个数 rand()%n 范围显然是 0~n
2014-10-27 14:19:45
1026
转载 几种进程间的通信方式
# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共
2014-10-26 20:34:41
509
原创 牛顿迭代求平方根
code:#include #include #include using namespace std;const double eps = 0.00000001;double my_sqrt_1(double x) { float start = 0; float last = x; while(start < last) { float
2014-10-26 16:57:13
1156
转载 各种排序算法的时间复杂度
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。冒泡法: 这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: 复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。直接插入排序:O(n*n)选择排序:O(n*n)快速排序:平均时间复
2014-10-22 14:25:57
3679
转载 Python版图的深度/广度搜索
#_*_coding:utf_8_import sysclass Graph(): def __init__(self): visited = [] edges = [[]] queue = [] V = 0 E = 0 def initGraph(self):
2014-10-18 10:45:57
626
转载 python中的map、filter、reduce函数
三个函数比较类似,都是应用于序列的内置函数。常见的序列包括list、tuple、str。1.map函数map函数会根据提供的函数对指定序列做映射。map函数的定义:map(function, sequence[, sequence, ...]) -> list通过定义可以看到,这个函数的第一个参数是一个函数,剩下的参数是一个或多个序列,返回值是一
2014-10-18 10:38:27
509
原创 C++ 字符串排序
#include #include #include #include using namespace std;bool less_lower(const char& it1, const char& it2) { return (it1) < (it2);}int main() { char str[] = "sadfsdfsfasdfsdfwefwef";
2014-10-16 09:41:45
2709
转载 【C++】typedef与define的思考
typedef 一,定义 typedef:声明自定义数据类型,配合各种原有数据类型,用来简化编程。 二,用途 1,便于移植 typedef int INT32; INT32 a;//定义整型变量
2014-10-14 13:55:17
791
原创 C++ 字符串库函数整理
#include #include #include #include using namespace std;void PrintStr(const char* str) { cout<<str<<endl;}//将字符串翻转void PrintRevStr(char* str) { cout<<strrev(str)<<endl;}int main()
2014-10-13 11:38:02
1080
转载 深入分析C++中char * 和char []的区别
问题引入:在实习过程中发现了一个以前一直默认的错误,同样char *c = "abc"和char c[]="abc",前者改变其内容程序是会崩溃的,而后者完全正确。程序演示:测试环境Devc++代码运行结果2293628 4199056 abc2293624 2293624 abc2293620 4199056 abc#include using
2014-10-13 11:35:55
513
转载 大数加法的字符串实现
#include#include #include using namespace std;char s1[200],s2[200],sum[210];void add(){ int lena=strlen(s1); int lenb=strlen(s2); int maxlen=(lena<lenb)?lenb:lena; int carry=0
2014-10-13 10:01:32
861
转载 poj--1703 二分图判断
Sample Input15 5A 1 2D 1 2A 1 2D 2 4A 1 4Sample OutputNot sure yet.In different gangs.In the same gang.此题的意思就是要吧嫌疑犯分成两个团伙。其实这道题就是求给的一个图是不是二分图。。。。
2014-10-11 11:41:09
762
转载 C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
1、cin 2、cin.get() 3、cin.getline() 4、getline() 5、gets() 6、getchar()附:cin.ignore();cin.get()//跳过一个字符,例如不想要的回车,空格等字符1、cin>> 用法1:最基本,也是最常用的用法,输入一个数字:#include using n
2014-10-11 10:49:43
526
原创 HDU1548 A strange lift 广搜 + 最短路
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548
2014-10-11 09:56:47
606
转载 poj3984迷宫问题 广搜+最短路径
定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。Input一
2014-10-10 11:15:50
1324
转载 最小生成树Prim算法
一个连通图的生成树是一个极小的连通子图,它含有图中全部的顶点,但只有足以构成一棵树的n-1条边。所谓的最小成本,就是n个顶点,用n-1条边把一个连通图连接起来,并且使得权值的和最小。综合以上两个概念,我们可以得出:构造连通网的最小代价生成树,即最小生成树
2014-10-09 00:33:47
646
转载 图的dfs与bfs(深搜广搜)c++实现
#include #include #include #include #include using namespace std;int n;vector > graph;bool visited[100] = {0};void dfs(int v){ list::iterator it; visited[v] = true; printf("%5d",
2014-10-08 23:45:45
3163
原创 喝汽水
题意:1元钱可以喝一瓶汽水,2个空瓶可以换一瓶汽水,问n元可以喝多少瓶汽水?code:#include using namespace std;int main() { int n; cin>>n; int sum = n; while(1) { if(n == 1) { sum += 1;
2014-10-08 17:23:04
505
转载 C++ 堆排序
1 堆 1.1 简介n个关键字序列Kl,K2,…,Kn称为(Heap),当且仅当该序列满足如下性质(简称为堆性质):(1)ki=号。//k(i)相当于二叉树的非叶结点,K(2i)则是左孩子,k(2i+1)是右孩子若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于
2014-10-07 12:52:44
531
转载 二叉树 前序,中序,后序遍历 --非递归遍历
前序遍历:#include #include using namespace std;struct TreeNode { int value; TreeNode* left; TreeNode* right;};TreeNode* createNode(int value) { TreeNode* node = new TreeNode;
2014-10-06 10:03:33
537
原创 二叉树的前序,中序,后序遍历 递归实现
前序遍历:#include using namespace std;struct TreeNode { int value; TreeNode* left; TreeNode* right;};TreeNode* createNode(int value) { TreeNode* node = new TreeNode; node -> va
2014-10-06 09:47:28
619
原创 C++ 二分查找
#include using namespace std;int BinarySearch(int a[], int length, int value) { if(a == NULL || length <= 0) return -1; int st = 0; int end = length - 1; while(st <= end) { int mid =
2014-10-05 21:28:11
548
转载 并查集-判断无向图是否存在环
并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。集就是让每个元素构成一个单元素的集合,也就是按一定顺序将属于同一组的元素所在的集合合并。Find:确定元素属于哪一个子集。它可以被用来确定两个元素是否属于同一子集合。Union:将两个子集合并成同一个集合。代码:
2014-10-04 14:37:14
1344
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人