#include
#include
using namespace std;
void string_zip(string input,string &output)
{
if(input.empty())
return ;
char last='\0';
char current;
int count=0;
for(int i=0;i<input.size();++i)
{
...
分类:
编程语言 时间:
2015-03-28 11:34:27
收藏:
0 评论:
0 赞:
0 阅读:
224
肯定有很多人对kmp算法,学了很多遍了,还是不懂,其实,很简单,我们简单的来看两个问题,就可以了!
一般的暴力算法,大家,应该都知道,扫两次,直接比较,就可以得到答案了,
我们直接来看,有没有可以简化
首先,和一般的算法一样,直接匹配,直到p[i]!=p[j];这时,如果是一般的算法i要回退回去,j也要从新开始,但我们没有好好的利用已经得到的有用信息
如图已经知道了,前面一段是相等...
分类:
编程语言 时间:
2015-03-28 11:34:17
收藏:
0 评论:
0 赞:
0 阅读:
175
一个人的旅行
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 21805 Accepted Submission(s): 7574
Problem Description
虽然草儿是个路痴(就是在杭电待了一年...
分类:
编程语言 时间:
2015-03-28 11:33:07
收藏:
0 评论:
0 赞:
0 阅读:
258
#include
using namespace std;
#define p 3.1415926
class Cylinder
{
private:
double v;
public:
Cylinder(double r = 0,double h = 0)
{
v = p * r * r * h;
}
double vol()...
分类:
编程语言 时间:
2015-03-28 11:32:37
收藏:
0 评论:
0 赞:
0 阅读:
326
编译过程主要分为4个过程1)编译预处理:预编译程序完成的工作,可以说成是对源程序的“替换”工作。经过这个过程,生成一个没有宏定义、没有条件编译指令、没有特殊符号的输出文件。宏定义命令;例如#define条件编译指令;例如#ifdef头文件包含指令;例如#include特殊符号;例如__LINE__,...
分类:
编程语言 时间:
2015-03-28 11:29:57
收藏:
0 评论:
0 赞:
0 阅读:
167
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。冒泡法:这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: 复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。直接插入排序:O(n*n)选择...
分类:
编程语言 时间:
2015-03-28 11:29:47
收藏:
0 评论:
0 赞:
0 阅读:
332
父类:public class Parent { public String name; private String pass; public void say1(AA aa){ System.out.println("parent say1...
分类:
编程语言 时间:
2015-03-28 11:29:17
收藏:
0 评论:
0 赞:
0 阅读:
126
前言 在Java并发包中有这样一个包,java.util.concurrent.atomic,该包是对Java部分数据类型的原子封装,在原有数据类型的基础上,提供了原子性的操作方法,保证了线程安全。下面以AtomicInteger为例,来看一下是如何实现的。public final int in.....
分类:
编程语言 时间:
2015-03-28 11:27:27
收藏:
0 评论:
0 赞:
0 阅读:
171
上一篇讲述了并发包下的Lock,Lock可以更好的解决线程同步问题,使之更面向对象,并且ReadWriteLock在处理同步时更强大,那么同样,线程间仅仅互斥是不够的,还需要通信,本篇的内容是基于上篇之上,使用Lock如何处理线程通信。 那么引入本篇的主角,Condition,Condition.....
分类:
编程语言 时间:
2015-03-28 11:26:47
收藏:
0 评论:
0 赞:
0 阅读:
219
1.浅拷贝与深拷贝概念(1)浅拷贝(浅克隆)浅拷贝又叫浅复制,将对象中的所有字段复制到新的对象(副本)中。其中,值类型字段(java中8中原始类型)的值被复制到副本中后,在副本中的修改不会影响到源对象对应的值。而引用类型的字段被复制到副本中的还是引用类型的引用,而不是引用的对象,在副本中对引用类型的...
分类:
编程语言 时间:
2015-03-28 11:26:27
收藏:
0 评论:
0 赞:
0 阅读:
383
声明:下面实验中[]里面表示要输入里面的符号,[]符号本身并未输入1、cin>>cin使用空白(空格、制表符、回车)来确定字符串的结束位置。 1 #include 2 using namespace std; 3 4 int main() 5 { 6 char p[100]; 7 ...
分类:
编程语言 时间:
2015-03-28 11:26:07
收藏:
0 评论:
0 赞:
0 阅读:
321
#include /* * 输入10个数,排序输出 */int main() { int a[10],i,j,t; printf("please enter 10 numbers\n"); for(i=0;ii;j--){if(a[i]>a[j]){ ...
分类:
编程语言 时间:
2015-03-28 11:24:57
收藏:
0 评论:
0 赞:
0 阅读:
240
ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用...
分类:
编程语言 时间:
2015-03-28 11:24:17
收藏:
0 评论:
0 赞:
0 阅读:
301
一 java的特性1.面向对象:与C++相比,JAVA是纯的面向对象的语言C++为了向下兼容C,保留了很多C里面的特性,而C,众所周知是面向过程的语言,这就使C++成为一个"混血儿"。而JAVA语法中取消了C++里为兼容C所保留的特性,如取消了头文件、指针算法、结构、单元等2.平台无关性:生成中间字...
分类:
编程语言 时间:
2015-03-28 11:24:07
收藏:
0 评论:
0 赞:
0 阅读:
219
这个题和UVa11529很相似。枚举一个中心点,然后按极角排序,统计以这个点为钝角的三角形的个数,然后用C(n, 3)减去就是答案。另外遇到直角三角形的情况很是蛋疼,可以用一个eps,不嫌麻烦的话就用整数的向量做点积。 1 #include 2 #include 3 #include 4 us...
分类:
编程语言 时间:
2015-03-28 11:22:07
收藏:
0 评论:
0 赞:
0 阅读:
160
同步代码块和同步方法的区别:同步代码块可以传入任意对象,同步方法中 如果多个线程检查的都是一个新的对象,不同的同步锁对不同的线程不具有排他性,不能实现线程同步的效果,这时候线程同步就失效了。 两者的区别主要体现在同步锁上面。对于实例的同步方法,因为只能使用this来作为同步锁,如果一个类中需要使用....
分类:
编程语言 时间:
2015-03-28 11:19:47
收藏:
0 评论:
0 赞:
0 阅读:
2149
看到HorkeyChen写的文章《[WebKit] JavaScriptCore解析--基础篇(三)从脚本代码到JIT编译的代码实现》,写的很好,深受启发。想补充一些Horkey没有写到的细节比如字节码是如何生成的等等,为此成文。 JSC对JavaScript的处理,其实与Webkit对CSS的.....
分类:
编程语言 时间:
2015-03-28 11:18:27
收藏:
0 评论:
0 赞:
0 阅读:
255
各种排序算法(一)排序基本概念: 根据排序过程中待排序文件存放的位置不同,可以把排序分为内部和外部排序两大类。在排序过程中,所有需要排序的数都在内存,并在内存中调整它们的存储顺序,称为内排序;在排序过程中,只有部分数被调入内存,并借助内存调整数在外存中的存放顺序排序方法称为外排序。内部排序适用于记....
分类:
编程语言 时间:
2015-03-28 11:18:17
收藏:
0 评论:
0 赞:
0 阅读:
218
public class ExtendsTest { public static void main(String[] args) { A a1 = new A(); A a2 = new B(); B b = new B(); C c ...
分类:
编程语言 时间:
2015-03-28 11:17:17
收藏:
0 评论:
0 赞:
0 阅读:
188
Lock是java.util.concurrent.locks包下的接口,Lock实现提供了比使用synchronized方法和语句可获得的更广泛的锁定操作,它能以更优雅的方式处理线程同步问题,我们拿Java线程(二)中的一个例子简单的实现一下和sychronized一样的效果,代码如下: 1 pu...
分类:
编程语言 时间:
2015-03-28 11:16:47
收藏:
0 评论:
0 赞:
0 阅读:
285