A.Islands这种联通块的问题一看就知道是并查集的思想。做法:从高水位到低水位依序进行操作,这样每次都有新的块浮出水面,可以在前面的基础上进行合并集合的操作。给每个位置分配一个数字,方便合并集合。同时将这些数字也排一个序,降低枚举的复杂度。合并集合时向四周查询浮出水面但是没有合并到同一集合的点进...
分类:
其他好文 时间:
2014-05-06 00:49:38
阅读次数:
568
1
//--------------------单向值传递------------------------ 2 3 //
swap这个方法在被调用时,给形参a,b分配了空间 4 // 主调函数将【数值】传递给【形参】 5 // 形参完成操作之后并不能将值传回给主调函数 6 //
形参的生命周期仅.....
分类:
编程语言 时间:
2014-05-06 00:25:47
阅读次数:
418
利用二叉树实现的排序。将源文件中的数据以中序由小到大的顺序构建二叉树,再写入到另一个文件中(顺便释放为二叉树分配的空间)。这里使用了非递归的算法实现。
分类:
编程语言 时间:
2014-05-06 00:19:39
阅读次数:
353
堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数...
分类:
编程语言 时间:
2014-05-05 23:23:31
阅读次数:
499
在IOS中,所有对象的内存分配的方法都会调用allocWithZone,比如构造函数alloc,所以重写这个方法就可以实现单例。
Xcode中预先写好了实现代码的快捷指令,敲dispatch_once就会看到。这个是有GCD实现的单例代码。实现代码如下:+(id)allocWithZone:(...
分类:
移动开发 时间:
2014-05-05 22:09:11
阅读次数:
392
本文介绍了Java 中你所不知的线程创建的第三种方法。
线程存在的目的是位了在计算机中,在单位时间内(相对于人眼能够识别的速度)完成对个任务。在java中是为了在编写程序是能够并发(同时执行多个程序,或者一个程序的多个任务;在操作系统中使用时间片来完成)运行多个任务。
注意并发的同时是指,同一时间段而非同一时刻。
举例:如果是一个cpu的计算机,将cpu的时间划分成时间片分配给任务。当分配给任务的时间消耗完毕之后,当前任务推出cpu,cpu供其他任务执行,将cpu让给获得时间片的任务。...
分类:
编程语言 时间:
2014-05-05 13:21:37
阅读次数:
406
今天在论坛里看到有个朋友的需求,见证csdn的版主都不愧是大牛的角色存在啊!!!字符串为:
1 = 光电鼠标
2 = 机械鼠标
3 = 没有鼠标
1.1 = 黑色光电鼠标
1.2 = 红色光电鼠标
1.2.1 = 蓝牙红色光电鼠标
版主解答为:
<?php
$s =<<< TXT
1 = 光电鼠标
2 = 机械鼠标
3 = 没有鼠标
1.1 = 黑色光电鼠标
1.2 = 红色光电鼠标
1.2.1 = 蓝牙红色光电鼠标
TXT;...
分类:
Web程序 时间:
2014-05-04 00:17:34
阅读次数:
342
在责任链模式中, 很多对象由每一个对象对其下家的引用而接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。客户并不知道链上的哪一个对象最终处理这个请求,系统可以在不影响客户端的情况下动态的重新组织链和分配责任。处理者有两个选择:承担责任或者把责任推给下家。一个请求可以最终不被任何接收端对象所接受。...
分类:
其他好文 时间:
2014-05-03 17:38:42
阅读次数:
294
题目详情我们要给每个字母配一个1-26之间的整数,具体怎么分配由你决定,但不同字母的完美度不同,而一个字符串的完美度等于它里面所有字母的完美度之和,且不在乎字母大小写,也就是说字母F和f的完美度是一样的。现在给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串最大可能的完美度为77。函数头部Cint perfect(const char *s)...
分类:
其他好文 时间:
2014-05-03 16:57:02
阅读次数:
300
操作系统基本分段存储管理方式
引入分段存储管理方式的目的:满足程序员在编程和使用上多方面的要求。这种存储管理方式已经成为当今所有存储管理方式的基础。
1、分段存储管理方式的引入
主要满足用户和程序员以下需求:
1)、方便编程
用户把自己的作业按照逻辑管理划分为若干段,每个段都是从0开始编址,并有自己的名字和长度。因此,希望要访问的逻辑地址是由段名(段号)和段内偏移量(段内地址)决定的。...
分类:
其他好文 时间:
2014-05-03 16:33:18
阅读次数:
281