- 博客(27)
- 资源 (3)
- 收藏
- 关注
转载 逆序对
设A[1…n]是一个包含n个不同数的数组。如果在iA[j],则(i,j)就称为A中的一个逆序对(inversion)【《算法导论》2-4】现给出一个数列,求该数列中的逆序对数(逆序数)。本节给出三种方法:方法一是最直接的暴力方法;方法二是基于归并分治的思想;方法三是基于线段树的。【解法一】暴力方法最直接,也最容易想到,两层for循环就可以算出来逆序数:每遇到一个元素回头遍历
2012-09-21 17:30:10
4427
2
原创 字符串处理-最长回文子串
求一个字符串的最长回文子串有几种方法:1、最容易想到的就是遍历整个字符串,然后求出以每个字符为中心的最长回文串(要考虑奇数和偶数问题),这样的时间复杂度为o(n^2);2、还有一种就是用后缀数组的方法,将字符串倒转过来然后接到原字符串的后面构造一个新串,中间用一个原字符串中没出现的字符做分隔符,求原字符串最长回文字串就相当于求新串后缀数组的最长公共前缀了,代码较复杂,时间复杂度为o(nlg
2012-09-19 16:26:15
4191
转载 捞鱼问题
题目:20个桶,每个桶中有10条鱼,用网从每个桶中抓鱼,每次可以抓住的条数随机,每个桶只能抓一次,问一共抓到180条的排列有多少种 (也可求概率)。分析:我们要在20个桶中一共抓取180条鱼,每个桶能抓到鱼的条数为0-10,仔细想下,这个问题是可以分解成子问题的:假设我们在前i个桶中抓取了k(0例如,在第一个桶中抓取了2条鱼,那么总的排列数等于在剩下19个桶中抓取178条鱼的排列种
2012-09-19 16:23:11
762
转载 过来人对于在校生找工作的一点看法
过来人对于在校生找工作的一点看法 发信站: 兵马俑BBS (Sun Mar 18 00:21:10 2012), 本站(bbs.xjtu.edu.cn) 今天看了大家在网上就西邮的学生蔑视交大学生的事情大发感慨,所以想写点东西供大家参考。 本人07年硕士毕业,毕业后去了上海在一个外资公司干了三年时间,10年从公司辞职回到西安自主创业,目前有自己的一个
2012-09-18 12:09:11
1313
原创 字符串处理-一个字符串包含另一个字符串的所有字符
假设这有一个各种字母组成的字符串,假设这还有另外一个字符串,而且这个字符串里的字母数相对少一些。从算法是讲,什么方法能最快的查出所有小字符串里的字母在大字符串里都有?比如,如果是下面两个字符串:String 1: ABCDEFGHLMNOPQRSString 2: DCGSRQPOM答案是true,所有在string2里的字母string1也都有。如果是下面
2012-09-17 18:06:57
724
原创 c语言中经常忽略的类型提升
类型提升常发生在表达式中,char,short(包括它们的signed和unsigned类型)以及枚举类型enum,在表达式中被提升为int(如果int足够表示转换后的数的话,否则就是unsigned int);在含有unsigned int的表达式里,int转换为unsigned int来做运算。低级向高级发生转换。例如:1:‘a'+1=98; 2:size
2012-09-17 11:48:40
971
原创 新浪和腾讯微博开放平台比较
从api多样性、数据完整性、开放程度三个方面对目前国内最流行的两个微博平台,腾讯和新浪,做一个简单的比较。API多样性开发者使用一个开放平台最关心的是“这个平台提供了哪些API”以及“这些API又能实现什么功能”。新浪目前开放了近100个API接口,和腾讯相比,开放的方式更接近twitter。如果我们仔细的对比一下新浪和twitter的API,我们就会发现,双方不仅在数量上相当,在
2012-08-21 17:14:19
2665
原创 APNS-apple的推送服务
推送通知,也被叫做远程通知,是在iOS 3.0以后被引入的功能。是当程序没有启动或不在前台运行时,告诉用户有新消息的一种途径,是从外部服务器发送到应用程序上的。一般说来,当要显示消息或下载数据的时候,通知是由远程服务器(程序的提供者)发送,然后通过苹果的推送通知服务(Apple Push Notification Service,简称apns)推送到设备的程序上。推送的新消息可
2012-08-20 10:52:30
1752
原创 iOS 中异步数据的加载
在iOS中经常需要从网络获取数据然后显示在视图中,往往视图数据会先加载,之后网络获取的数据才会传过来,然后重新在视图中显示,这就是异步数据加载,ios中实现异步数据加载有两种常用的方法:1.在简单的应用程序中,只需要在controller中实现即可,让controller服从网络协议,在requestdidfinishload中加载视图数据即可。2.在比较复杂的应用程序中(典型得mvc模式
2012-08-02 16:14:33
3351
原创 有序的NSArray和无序的NSSet
在文档中看到NSAarray是有序的,而 NSSet是无序的,有点疑惑,这里的有序不是说容器里的元素是排序的,而是说是按创建(或者后来加入)的顺序有序的。这主要是因为NSArryy存储在一块连续的内存区域,而NSSet是以哈希的方式存储在内存上的。
2012-07-19 10:03:31
661
原创 Don’t Use Accessor Methods in Initializer Methods and dealloc
在iOS中,不要在init方法和dealloc方法中使用setter、getter方法因为如果子类重写了父类的访问器方法时,可能会导致内存泄漏(例如子类的setter方法,赋给特性另外一个值,在delloc方法中使用self.var=nil时,调用子类的setter方法,导致该值不能被释放,从而发生内存泄漏)。#importenum { UseItTheRightWay
2012-07-18 14:18:45
650
原创 命令方式将three20加到工程
1.新建工程MyApp2.用Terminal进入到工程的文件夹3.运行命令下载three20git clone https://github.com/facebook/three20.git4.在下载的时候在Three20文件下新建一个Three20Demo的项目5.下载完three20后,运行命令即可在新建项目里添加three20python three20/src/sc
2012-07-11 16:47:51
412
原创 iOS 深拷贝和浅拷贝
(1)深拷贝,就是新拷贝一块内存交给对象使用。(2)浅拷贝,就是觉得拷贝内存太浪费,直接给你我的地址吧,相当于retain。 在Objective-C里面只有一种情况是浅拷贝,那就是不可变对象的copy,其它的都是深拷贝(包括不可变对象mutableCopy、可变对象的的copy和mutableCopy)
2012-07-11 16:40:24
1724
原创 iOS 笔记( 12-7-11)
将最近学习ios做的笔记整理一下A\NSString *path = [[NSBundle mainBundle] pathForResource:@"sortednames" ofType:@"plist"];获取属性文件的路径NSDictionary *dict = [[NSDictionary alloc]
2012-07-11 16:35:47
497
转载 静态类型,动态类型,强类型,弱类型
详细介绍了静态类型,动态类型,强类型,弱类型之间的区别,留着看What is static typing? And what’s dynamic typing? I’ll answer both questions in this introductory article, and we’ll discuss the debate surrounding the very defi
2012-06-21 09:59:07
966
原创 后缀数组
后缀数组在处理字符串中发挥了很大的作用,它通常与最长公共前缀一起处理字符串。列出后缀数组的构造和公共前缀的求取方法,留着以后用。#include#include#define maxn 1000int wa[maxn],wb[maxn],wv[maxn],ws[maxn];int cmp(int *r,int a,int b,int len){ret
2012-05-31 19:49:02
353
原创 Catalan数--卡特兰数
一、Catalan数的定义令h(1)=1,Catalan数满足递归式:h(n) = h(1)*h(n-1) + h(2)*h(n-2) + ... + h(n-1)h(1),n>=2该递推关系的解为:h(n) = C(2n-2,n-1)/n=C(2n,n)-C(2n,n-1),n=1,2,3,...(其中C(2n-2,n-1)表示2n-2个中取n-1个的组合数); 二、卡特兰数的应用:应用
2012-05-23 19:05:35
518
原创 天平称重问题
给定几个球,所有球外形、大小等都一样,其中有一个球重量和别的不一样,用给定次数找出该球。 天平称重有三种状态:左倾、右倾、平衡。根据状态一般把球分成3个组,然后称重。 8个球的情况(有一个球重):(2次) 分组:3、3、2,①②③ ④⑤⑥ ⑦⑧ 若前两组相等,则第三组有个不一样的球,用①和⑦称,即可得出重的球。 若第一组重,则重球在第
2012-05-14 17:01:36
1876
转载 马屁股决定航天飞机
航天飞机的宽度是由马屁股决定的 现代铁路两条铁轨之间的标准距离是4.85英尺,大约1.435米,可相当多的人并不知道,为什么要采用这个标准?原来,早期的铁路是由造电车的人设计的,而四英尺又八点五英寸正是电车所用标准。那么,电车的标准又是从哪里来的呢?最先造电车的人以前是造马车的,所以电车的标准沿用了马车的轮距标准。那么马车为什么要用这样的一个轮距标准呢?
2012-05-04 09:11:41
6639
14
原创 c语言泛型编程
1、swap实现任意数据类型的数据交换void swap(void *vp1,void *vp2,const int size){// char buffer[size]; char *buffer=(char *)malloc(size); memcpy(buffer,vp1,size); memcpy(vp1,vp2,size); memcpy(vp2,buffer,siz
2012-04-12 21:55:41
545
原创 关于C++中隐式转换
C++中隐式转换有几种:首先只有一个参数的构造函数可以将参数类型的对象转换为类类型对象,其次通过在类里面定义转换函数可以将类类型转换为其他类型,下面主要讨论第二种转换及几个问题。通过隐式转换能带来很多好处:如下例子struct PS:pair{ PS():pair(string(),string()){} PS(const string& s):pair(s,s){ sort
2012-03-29 20:12:54
501
转载 bad_cast,const_cast,dynamic_cast,reinterpret_cast,static_cast(C++)
有四种强制类型转换符,分别是dynamic_cast,const_cast,static_cast,reinterpret_cast。其中dynamic_cast与运行时类型转换密切相关.dynamic_cast强制转换运算符:该转换符用于将一个指向派生类的基类指针或引用转换为派生类的指针或引用,注意dynamic_cast转换符只能用于含有虚函数的类,其表达式为dynamic_cast(
2012-03-29 14:35:18
309
转载 测量程序运行时间的几种方法
粗略学习了一些测量程序运行时间的技术,www.amazon.co.uk/Computer-Systems-Programmers-Randal-Bryant/dp/013034074X在这个方面几乎没有可以参考的文献,以下是我接触到的一些资料,记录在此,以备将来参考。1: Computer System: A programmer's perspective2: Software Op
2012-03-28 21:15:58
607
转载 线性筛选法求素数表
1.先介绍普通的算法,比较简单,直接贴代码#include using namespace std; const int MAX=100; bool isPrime[MAX+1]; int total;//计数 int prime[MAX+1]; void makePrime1(){ memset(isPrime, 1, siz
2012-03-23 22:23:00
1859
翻译 高效的乘法和乘方运算
计算机内乘法运算极其消耗时间,下面通过位运算提高效率A.用位运算求乘法提高运算速度。算法描述:1. let v=vrvr-1…v1v0 be the binary represention of v,where the mostsignificant bit vr of vis 1.(r为下标)2. set x=g;3. for i from r
2012-03-23 11:11:03
541
原创 红黑树插入操作详析
红黑树(RBT)的定义:它或者是一颗空树,或者是具有一下性质的二叉查找树:1.节点非红即黑。2.根节点是黑色。3.所有NULL结点称为叶子节点,且认为颜色为黑。4.所有红节点的子节点都为黑色。5.从任一节点到其叶子节点的所有路径上都包含相同数目的黑节点。插入操作由于性质的约束:插入点不能为黑节点,应插入红节点。因为你插入黑节点将破坏性质5,所以每次插入的点都
2012-03-07 14:22:00
1637
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人