标签:
据说,一只优秀的程序猿往往会有这样的经历,白天遇到一个绞尽脑汁也无法解决的问题,晚上睡了后,半夜在梦中会灵感涌现,立马起床,打开电脑,一气呵成。第二天如果不看注释,完全不知道自己找到了如此巧妙地解决方案。
昨晚躺床上,无意中想到一个问题,突然灵感爆发,想到巧妙解决方法,差点想起床写下来,只是寝室已断电,不了了之。早上爬起来,脸都没洗,先把文章敲了。
非常简单的一个问题,长度为100和101的AB两个数组,数值范围为0-99,含重复,找出来多出来的一个数。
一开始想到的是先排序,然后一趟比较找出不同。 排序方法一开始自然想到标准的快排,对于数字,还有基数与计数。
一想到计数,突然发现根本不需要排序,三次遍历可解。
然后思维就发散了,进一步想了下
如果题目没给的范围,或者不是数字,大数据量咋办、
如果元素值是唯一的,hash,第二次遍历时,hash冲突的即为所求
。。。
结果是昨晚凌晨两三点才睡着,结论就是不能再想了,发散思维太可怕T^T。。
程序猿容易用脑过度,晚上还是好好休息,别想太多,当然,梦中的突然灵感还是要立马爬起床写下来的,毕竟有时候百分之一的灵感更重要。。。
标签:
原文地址:http://www.cnblogs.com/chulong/p/4341227.html