【问题】
题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。
【分析】
解法1:
先排序,排序后数组中间的那个元素就是要找的那个数字。时间复杂度O(n*logn)。
解法2:
既要缩小总的时间复杂度,那么可以用查找时间复杂度为O(1)的hash表,即以空间换时间。哈希表的键值(Key)为数组中的数字,值(Value)为该数字对应的次数。然后直接遍历整个hash表,...
分类:
其他好文 时间:
2014-08-22 21:13:09
阅读次数:
265
在基于Backbone的单页应用中,我们可能会有下面这些疑问:1 如果多次访问同一个页面(hash)时,被多次实例化的视图所占内存释放了么?2 当你关闭视图后,是不是会发现,它上面的事件还没有移除掉?3 你是不是在为进一个新页面之前的清理工作而懊恼呢?因为Backbone是事件驱动的,在Backbo...
分类:
移动开发 时间:
2014-08-22 14:13:28
阅读次数:
345
poj 2002 Squares
给出n个点,问能组成多少个正方形?
题解:
先把每个点hash
然后枚举两点(即枚举正方形的一条边),然后通过三角形全等,可以推出正方形的另外两点,在hash表里查找这两点看是存在,存在则 Cnt +1。
最后 answer = Cnt/4 //因为同一正方形都统计了4次。
#include
#include
#in...
分类:
其他好文 时间:
2014-08-22 13:03:48
阅读次数:
229
解题报告
题目传送门
题意:
使得学校网络互通的最小花费,一些楼的线路已经有了。
思路:
存在的线路当然全都利用那样花费肯定最小,把存在的线路当成花费0,求最小生成树
#include
#include
#include
#include
#define inf 0x3f3f3f3f
using namespace std;
int n,m,_hash[1110][1110],...
分类:
其他好文 时间:
2014-08-22 01:39:25
阅读次数:
211
本文主要分析g++ stl中哈希表的实现方法。stl中,除了以红黑树为底层存储结构的map和set,还有用哈希表实现的hash_map和hash_set。map和set的查询时间是对数级的,而hash_map和hash_set更快,可以达到常数级,不过哈希表需要更多内存空间,属于以空间换时间的用法,...
分类:
其他好文 时间:
2014-08-21 22:44:34
阅读次数:
387
值相同却可能有不同的hashcode //对象值到底指什么?(x.equals(y) == true)应该并不代表对象值相同class A{A(){}public boolean equals(A a){return true;}}public class EqualsTest{public s.....
分类:
其他好文 时间:
2014-08-21 12:53:24
阅读次数:
212
转自:http://blog.csdn.net/zxycode007/article/details/6999984散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙。散列表(Hash t...
分类:
其他好文 时间:
2014-08-21 01:29:53
阅读次数:
365
UVA 261 - The Window Property
题目链接
题意:这题题意挺绕的。。就是给定一个字符串长度n,扫描长度为k = [1,n],然后每次只能扫描连续k个字符的子串,要求所有扫描中,每次扫描中出现的不同字符串个数都不超过k + 1,那么这个字符串就是window property,如果不是的话,就还要找出下标最小的不符合的位置(就是n次扫描中找最小的)
思路:...
var hash = { // 邮箱域名对应的邮箱登录地址
'qq.com' : 'http://mail.qq.com',
'gmail.com' : 'http://mail.google.com',
'sina.com' : 'http://mail.sina.com.cn',
'sina.cn' : 'http://mail.sina.com...
分类:
Web程序 时间:
2014-08-20 14:13:36
阅读次数:
145
UVA 257 - Palinwords
题目链接
题意:输出一个文本里面的palinword,palinword的定义为,包含两个不同的回文子串,并且要求回文子串不能互相包含
思路:对于每个单词判断一次,由于不能互相包含,对于每个位置,其实就只要找长度3和4的情况即可,这样复杂度为O(n),至于判断重复的,就用hash即可
代码:
#include
#include ...
分类:
其他好文 时间:
2014-08-20 14:09:02
阅读次数:
190