- 博客(62)
- 资源 (21)
- 收藏
- 关注
原创 2、3、4的幂
Given an integer (signed 32 bits), write a function to check whether it is a power of 2.Example:Given num = 16, return true. Given num = 5, return false.Follow up: Could you solve it witho
2016-05-13 23:21:28
835
转载 一致性哈希算法
一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。 一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:1、平衡性(B
2015-03-31 10:05:56
798
原创 2014校园招聘回忆
找工作 2013.09.19中秋节从上海IBM回到学校,到2014.01.18参加最后一场面试,整整四个月。最初计划今年回校可能要继续找,现在看来,已经完全没有必要了。在此做一个总结吧。 四个月期间,获得面试资格的单位有23家:华为、国电南瑞、腾讯、趋势科技、山石网科、中电28所、614所、建行提前批、招商银行、兴业银行、工商银行、南京银行、浦发银行、中国
2014-03-31 22:49:14
3896
原创 POSIX线程基础
在POSIX线程(pthread)的情况下,程序开始运行时,它是以单进程的单个控制线程启动的。也就说说,一个进程至少包含一个线程。多线程一般需要包含pthread.h头文件。1、线程的创建如果要创建多线程,则使用如下函数:int pthread_create( pthread_t * thread, const
2014-01-12 21:19:30
1558
原创 C程序的存储空间布局
C 程序由下面几个部分组成:1、正文段 这是CPU执行的机器指令的部分(代码段)。通常正文段是可以共享的,所以即使是频繁使用的程序,在内存中也只有一个副本。2、初始化数据段 通常称此段为数据段,它包含程序中需明确的赋初值的变量,例如,C 程序中任何函数之外的声明:int max = 99;3、非初始化数据段 通常将此段称为bss段(
2014-01-12 14:19:16
1027
1
原创 打印蛇形矩阵
题目:对于给定的n,打印出如下型式的蛇形矩阵。例如n=3时输出: 1 2 3 8 9 4 7 6 5n=4时输出: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7void fun(int *a, int n,int m, int s){ if(n<=0||m<=0) return; if(
2014-01-09 17:09:48
1516
原创 C++内存管理
C++内存池初探原创文章,转载请注明出处:http://blog.youkuaiyun.com/fastsort/article/details/12356369///mymem.h 使用自己定义的内存管理需要包含这个头文件#ifndef __mymem_h__#define __mymem_h__template class CachedObj{public: v
2013-10-06 20:35:57
1725
原创 2014华为校园招聘第三轮上机题目(南京-C/C++)
2014华为校园招聘第三轮上机题目(南京-C/C++)形式: 使用OJ的形式,但是没有时间与内存限制。工具:C/C++是VS2005,Java是Eclipse。 原创文章,转载请注明出处:http://blog.youkuaiyun.com/fastsort/article/details/113868271、回文数(60分)给定一个数,判断在7
2013-09-08 17:09:21
3047
2
原创 随机数问题
最初问题:从n个数中随机选择m个数(0为了便于描述,可以将该问题抽象为:从0-n-1这n个数中随机选择m个数。计算机能够提供的随机数都是伪随机的,我们假设计算机提供的伪随机数为真正的随机。原创文章,转载请注明出处:http://blog.youkuaiyun.com/fastsort/article/details/101628710、产生一个随机数系统(c/c++)提供的rand函数只有15
2013-08-21 22:51:06
2379
原创 各种排序算法
排序算法总结:直接插入排序、冒泡排序、快速排序、简单选择排序、堆排序。以下均是对数组a[n](a[0…n-1])按升序排序,如果需要降序,类似.原创文章,转载请注明出处:http://blog.youkuaiyun.com/fastsort/article/details/100505651、直接插入排序思路:初始时认为a[0]是有序的,然后依次将a[1]…a[n-1]插入到序列中
2013-08-18 19:11:47
1330
原创 kmp算法(下)——next数组
4、如何计算next数组 对于给定的字符串p,其next数组的含义是:对于k=next[j],p的前缀p[0…k-1]和p的后缀p[j-k…j-1]匹配,k要尽可能的大,且k<j.我们可以根据上述含义写出next的brute force计算代码。复杂度应该是O(n2)。 换个思路,现在next[0]=-1,next[1]=0.假设k=next[j
2013-08-14 21:44:26
1933
原创 基于QQ远程协助的远程桌面实现
需求:实验室/办公室一台电脑,寝室一台电脑,很多资料都是不便同步的,比如公司保密政策等。但是又需要随时可操作或者查看这些资料。最好的办法是远程桌面。思杰有相应的产品,听在里面工作的同学说,可以免费试用一个月。但是一个月显然不够。我是想一直用的。解决方案:1、如果在同一个局域网,有很多远程控制类软件可以使用,包括一些比较有名的开源软件,如 tightvnc 等。这类软件
2013-06-30 10:57:02
7486
1
原创 设计模式之 再说单例模式
昨天写了个单例模式,当时感觉有个问题:new出来的对象一直没有释放!这不是内存泄露吗?后来就看了别人的代码,java中是没有的,因为不需要。又看了一份c++的,也没有。我就想,可能不需要吧,在程序运行期间,最多只有一个instance,不会耗尽内存的,最多O(1)的内存。可是今天怎么考虑觉得这种解释太牵强了!如果对象很大呢?如果有很多类的单例instance呢?于是
2013-06-05 21:13:21
1122
原创 设计模式之 单例模式
使用场景:整个系统中只允许有一个实例,例如:调度程序,某些特殊服务等。实现方法:将构造函数设置为private或者protected,然后设置一个静态方法(为什么必须要静态?因为无法new出一个对象来),供其他函数访问这个唯一的实例。代码:#include using namespace std;class Singleton{protected:
2013-06-04 22:29:07
1160
原创 Linux系统变量PS1
今天无意看到别人的机器的系统提示符是时间开头的,很好奇,原来是修改了PS1这个变量。在~目录下,用ls -la可以看到有一个.bashrc文件,只要在里面修改PS1即可。参数说明:\d :代表日期,格式为weekday month date,例如:"Mon Jun 03"\H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linu
2013-06-03 20:46:03
1037
原创 排序问题-《编程珠玑》 ch1 开篇_ 1.6.3
习题1.6.3对比系统自带的排序(这里使用STL中的sort函数)、使用位图排序和冒泡排序。输入是txt文本,使用生成的随机数序列。测试代码如下:#include #include #include #include #include #include using namespace std;void readData(int a[], int n, const
2013-05-30 22:45:56
1086
原创 让Ubuntu开机挂载ntfs磁盘
在同一台机器上安装了双系统时(win7+Ubuntu),有时候需要访问另外一个系统的文件,比如在linux下访问win7里的文件,或者相反。如果在linux里访问win7的磁盘,直接在文件系统里点击盘符,就可以自动挂载到linux,然后可以读写里面的文件。有些软件需要记录一些日志什么的(比如即时通讯软件的聊天记录),如果在不同的系统都能看到聊天记录,就需要在不同的系统访问同一个记录。所
2013-05-29 12:09:19
1156
原创 找出数组中的缺失数据和重复数据
20130506微软实习生面试二面题目:一个数组,大小为n,其元素大小范围为1-n。其中一些数缺失了,另外一些数则重复。先要求找出其中重复的数和缺失的数。我几乎没怎么想,很快的写出:/************************** * a[n],元素范围:1-n * 输出重复的和丢失的数**************************/void fa(
2013-05-16 21:25:24
3187
2
原创 bitset类的实现
问题:实现一个bitmap类(为避免与stl中的bitset重名),用于位图。测试用例:BitMap bm(20);bm[3] = 1;bm[5] = 0;bool b = bm[12];其本质上是用内存中的一位来表示某种意义。难点在于,使用int或者unsigned int类型保存多位bool变量(也就是0或者1)后,怎么重载下标操作符。如果不使用下标而是使用函数,例如
2013-05-13 23:03:34
1475
原创 Linux常用命令总结
基本文件操作1、touch 创建文件2、cp 复制、链接(s,l)文件3、mv 重命名,该过程称为移动4、rm 删除文件(-rf也可以删除目录)目录处理5、mkdir 创建目录6、rmdir 删除目录(仅用于空目录) cd 进入某个目录查看文件7、stat 查看统计信息8、file 查看文件类型(文本、可执行文件、数据文
2013-05-01 08:49:11
903
原创 使用Python发送电子邮件
python中的smtplib模块可以使用SMTP协议发送电子邮件,只要设置好邮件发送方,收件人,主题(可以为空)和消息(可以为空),就可以把消息发送到指定邮箱。经过测试,比较方便。测试代码:# MailClient class from smtplib import SMTPfrom time import *class MailClient: def __in
2013-04-29 21:58:57
1396
原创 全排列问题
问题描述:给定一个序列,例如abc,则其全排列为abc,acb,bac,bca,cab,cba。实现函数void fun(const char * str);输出其全排列。分析:如果只有一个元素a,则其全排列为a;如果有2个元素ab,则其全排列为ab和ba;也就是a和(b的全排列)以及b和(a的全排列);如果有3个元素abc,则其全排列为a和bc的全排列,b和ac的
2013-04-25 15:57:17
915
原创 C++中的运行时类型识别(RTTI)
C++中运行时类型识别(RTTI) 1、dynamic_cast操作符 将基类类型的指针或引用安全的转换为派生类类型的指针或引用。注意:基类至少带有一个虚函数,这样源类型才可能是多态的,才会在运行时确定类型。否则将导致编译错误。 如果转换成功,则返回一个指向转换后类型的指针或引用;如果转换失败,指针类型的转换结果为0,引用类型则抛出bad_cas
2013-04-24 11:44:29
1315
原创 使用py2exe打包发布python程序
目的:在没有安装python环境的机器上运行python程序。linux一般自带了python,所以这里指的是windows下的打包发布。工具:py2exe,下载地址。这里使用的是python2.7,注意要下载和自己电脑上安装的python版本一致的程序。如果安装了其他版本的请自行搜索。步骤:# windows 下 python 程序发布步骤# 1.选择需要发布
2013-04-19 15:52:57
1730
原创 python下使用ping检查网络连通情况
使用python调用ping命令,然后在日志中记录ping的结果,用来监测网络连通情况。代码:from time import *from subprocess import *webf= open("webs.txt","r")webs=[]for w in webf: webs.append(w.strip())def logAppend(log,info)
2013-04-19 15:37:53
10567
原创 传话游戏
传话游戏时间限制: 1000ms 内存限制: 256MB描述Alice和Bob还有其他几位好朋友在一起玩传话游戏。这个游戏是这样进行的:首先,所有游戏者按顺序站成一排,Alice站第一位,Bob站最后一位。然后,Alice想一句话悄悄告诉第二位游戏者,第二位游戏者又悄悄地告诉第三位,第三位又告诉第四位……以此类推,直到倒数第二位告诉Bob。两位游戏者在传话中,不
2013-04-10 10:00:15
1058
原创 使用python处理文件
背景:260个学生,分52组,每组1-6人,交作业时只需要一个人代表整个team交,有多次作业,每次可以由不同的人提交。文件名格式为:学号_姓名。我只负责其中9组,所以要从52个组内挑出我负责的9组,每次对着40多个人的名单从50多个文件名中检索出其中9个,太麻烦。于是想用脚本挑出我自己负责的那部分,可是又不会windows下的shell,其实linux下也不会。。。。刚好学了py
2013-04-09 22:55:18
1262
原创 微软2013年暑期实习招聘笔试回忆[已补充完整]
刚考完,开始觉得做的还好,下来把不确定的验证下,发现悲剧了好多。。【刚刚(20130415晚上)居然收到面试通知邮件。。。不知道那天能不能去。。。。】总共20道选择题,全部不定项。总分100分,时间75分钟。去年时间是90分钟的。。。。1~8,做对3分,半对2分,错误-2分,不做0分9~18,做对5分,半对3分,错误-3分,不做0分19~20,做对13分
2013-04-06 18:40:47
13222
25
转载 计算机是如何启动的?
从打开电源到开始操作,计算机的启动是一个非常复杂的过程。我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示......这几天,我查了一些资料,试图搞懂它。下面就是我整理的笔记。 零、boot的含义 先问一个问题,"启动"用英语怎么说? 回答是boot。可是,boot原来的意思是靴子,"启动"与靴子有什么关系呢? 原来,这里的boot
2013-04-05 16:53:59
1147
原创 C++中的动态绑定
C++中的动态绑定 动态绑定(dynamic binding):动态绑定是指在执行期间(非编译期)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。 C++中,通过基类的引用或指针调用虚函数时,发生动态绑定。引用(或指针)既可以指向基类对象也可以指向派生类对象,这一事实是动态绑定的关键。用引用(或指针)调用的虚函数在运行时确定,被调用的函数是引用(或指
2013-04-03 21:19:27
3304
原创 回调函数
什么是回调函数?回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。以上来自百度百科,读着很是拗口。先请看图:模块A需要调用模块B中的函数,一般情况下是直
2013-04-01 16:01:29
1245
原创 湫湫系列故事——减肥记II
湫湫系列故事——减肥记IITime Limit: 5000/2000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 1263 Accepted Submission(s): 537Problem Description 虽然制定了减肥食谱,但
2013-04-01 10:43:52
1333
原创 KMeans聚类算法
KMeans算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。k-means 算法基本步骤(1) 从 n个数据对象任意选择 k 个对象作为初始聚类中心;(2) 根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小
2013-03-30 15:01:07
2024
C++内存池测试(win7 & RedHat ).zip
2013-10-06
Remote Desktop Control based on QQ2012
2013-07-09
基于Python的QQ远程桌面
2013-06-30
python 2.7.5 win32 X86
2013-06-29
pyaudio-0.2.7.py27.exe
2013-06-18
Shell脚本学习指南.pdf
2013-05-10
py2exe for Python 2.7
2013-04-19
Linux Reader
2013-03-12
单链表操作算法合集
2013-03-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人