一个文件,内含一千万行字符串,每个字符串在1K以内,要求找出所有相反的串对
一个文件,内含一千万行字符串,每个字符串在1K以内,要求找出所有相反的串对 一个文件,内含一千万行字符串,每个字符串在1K以内,要求找出所有相反的串对,如abc和cba。当时怎么想的忘记了,现在重新思考一下,文件的大小上限是10G,不可能在内存操作了。考虑设计一种hash使得如果两个字符串维相反串能...
数组和链表的区别
数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一个元素,同样需要移动大量元素去填掉被移动的元素。如果应用需要快速访问...
词语匹配
设计一个系统处理词语搭配问题,比如说 中国 和人民可以搭配,则中国人民 人民中国都有效 1 <?php 2 /** 3 *设计一个系统处理词语搭配问题,比如说中国和人民可以搭配, 4 *则中国人民人民中国都有效。要求: 5 *系统每秒的查询数量可能上千次; 6 *词语的数量级为10W...
sleep和wait的区别
sleep线程被调用时占着cpu去睡觉其线程能占用cpuos认该线程正工作会让出系统资源wait进入等待池等待让出系统资源其线程占用cpu般wait会加时间限制因wait线程运行资源够再出来也没用要等待其线程调用notifyall方法唤醒等待池所有线程才会进入绪序列等待os分配系统资源 sleep静态方法谁掉谁去睡觉算main线程里调用了线程bslee...
unicode和utf8的区别
UNICODE,GBK,UTF-8区别 简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是一兼容的,同一个汉字,那三个码值是完全不一样的.如"汉"的uncode值与gbk就是不一样的,假设uncode为a040,gbk为b030,而uft-8码,就是把那个值表现的形式.utf...
过河 手电筒 面试题
四个人过河,只有一个手电筒,单独过河时间分别为:1分钟,2分钟,5分钟,10分钟。河上的木桥每次只能通过2个人。在桥上的人手中必须要有手电筒。要求4个人用17分钟时间到达对岸。桥中间不能折返。让1分钟和2分钟的先过,然后让2分钟的回来.10分钟和5分钟的再过,让1分钟的回来,1分钟和2分钟再过,为2分钟,最后的结果就是2+...
伙伴算法例子
二进制地址为011011110000,大小为4(10进制数)和16(10进制数)块的伙伴地址分别为:?地址011011110000,可以被2^(2+1)整除,所以伙伴地址是其下半部,加4就行,所以答案是011011110100;16大小时,不能被2^(4+1)整除,所以伙伴地址是其上半部,地址减去16,结果为0110 1110 0000。至于为什么这样整除决定,请查看伙伴地...