c*a
2 楼
一直都有喝新鲜的柠檬切片泡水喝的习惯,加点蜂蜜。
之前一直都是把柠檬连皮一起切片,连皮一起泡。
但是也听说柠檬皮里带什么感光物质,说是一起泡水会变黑。
到底会不会呀?夏天能不能连皮一起泡水呀??
有知道的JMS吗..
之前一直都是把柠檬连皮一起切片,连皮一起泡。
但是也听说柠檬皮里带什么感光物质,说是一起泡水会变黑。
到底会不会呀?夏天能不能连皮一起泡水呀??
有知道的JMS吗..
p*2
3 楼
为什么恐怖呢?
j*2
7 楼
是不是
n*n*pow(8, n*n)
感觉好恐怖
n*n*pow(8, n*n)
感觉好恐怖
d*o
8 楼
不带皮没事,柠檬皮是感光的,要不晚上喝
p*2
9 楼
为什么恐怖呢?
A*5
10 楼
偶也听说柠檬水美白咯……
以前DIY面膜还特地挤点柠檬水进去……
以前DIY面膜还特地挤点柠檬水进去……
n*n
12 楼
白天还是不要喝吧。
b*l
13 楼
顶一下,我也想知道这个问题的答案,哪位大侠给个说法?
p*l
14 楼
美白
但是会让皮肤敏感,注意白天做好防晒
但是会让皮肤敏感,注意白天做好防晒
k*n
16 楼
一直都这么喝着的,不过不加蜂蜜
z*4
18 楼
我也是一直这么泡水喝的,也不加蜂蜜,喝了好久,没发现自己变黑啊~
n*w
21 楼
用big O表示的话,基本是lz说的那样。
最长word可能没有n平方那么长,指数上的n平方可以写成 min(n^2, word_limit)
可以用各种数据结构帮助剪枝。暴利递归解n=4大概是5分钟数量级。
tries可以到0.3s。上次看到有面试官问剪枝可以优化多少倍。最后答案是至少1000倍
以上。
听说过最快的是做到0.1s。大概就是把1M个单词文件读进内存的速度。解4*4几乎不需
要时间。
【在 t*******3 的大作中提到】![](/moin_static193/solenoid/img/up.png)
: 我写错了。 我多写了n^2.
: 我的结果跟你的是一样地。
: 不过这个计算方法是有错误的。
: 尤其是等word长度比较大的时候。 不是指数形式。 而是最多power级。因为要考虑一
: 些点已经visit过了。
最长word可能没有n平方那么长,指数上的n平方可以写成 min(n^2, word_limit)
可以用各种数据结构帮助剪枝。暴利递归解n=4大概是5分钟数量级。
tries可以到0.3s。上次看到有面试官问剪枝可以优化多少倍。最后答案是至少1000倍
以上。
听说过最快的是做到0.1s。大概就是把1M个单词文件读进内存的速度。解4*4几乎不需
要时间。
【在 t*******3 的大作中提到】
![](/moin_static193/solenoid/img/up.png)
: 我写错了。 我多写了n^2.
: 我的结果跟你的是一样地。
: 不过这个计算方法是有错误的。
: 尤其是等word长度比较大的时候。 不是指数形式。 而是最多power级。因为要考虑一
: 些点已经visit过了。
b*l
22 楼
n*w
23 楼
标准答案算不上。可以说说我test过的数据结构吧。
1. 最黄最暴力的就是从matrix的任一位置开始,8个方向能走的全试试,走一步看走过
的路径组成单词是不是在dictionary里边。即使当前路径不是valid单词,也要继续往
下走。n=4运行时间数量级在5分钟。假设dictionary是1百万个单词量级
2. 稍微不那么黄的暴力解法是,对于dictionary里边的每个单词,去matrix里边走看
能不能走通。感觉上单词百万级会更慢,实际上可以降低运行时间到一分钟之内。原因
是,每个单词去走的时候,不需要每走一步就检测是不是合法单词,不合法直接退出,
大量的剪枝了。
3. 把dictionary建trie,这样在matrix里边每走一步都检查trie是不是能往下走。如
果当前prefix就已经invalid了,那这条路就不可能走出单词了。运行时间几乎等于建
trie的时间,大概是0.3s量级。
建trie的过程大概是建立一个27叉树,分别存a-z(不考虑case)以及结束标志比如$。
每个node不用存字符本身,存一个bool值就行。true表示这个路径存在否则不存在。相
当于把a-z map到0-25。
4. hashtable还没用过。如果建hashtable去剪枝,可以把matrix里边所有可能的两个
相邻字符存到hashtable里。key是两个相邻字符,value是这两个字符的位置信息。
然后对于每一个单词,每次取两个字符,看hashtable里边有没有这个key。并且检查
value是不是能跟之前走过的地方连起来并且合法。运行时间比trie更快,大概快一倍。
没试过相邻3个字符,估计还能加速。
欢迎提出更好的算法
【在 b*******l 的大作中提到】![](/moin_static193/solenoid/img/up.png)
: 怎么利用数据库结构的帮助剪枝啊?大侠能否给个标准答案?我看网上的算法好像都是
: 那种很慢的。我自己运行了一下,真的很慢啊。
: 在下先谢过了。
1. 最黄最暴力的就是从matrix的任一位置开始,8个方向能走的全试试,走一步看走过
的路径组成单词是不是在dictionary里边。即使当前路径不是valid单词,也要继续往
下走。n=4运行时间数量级在5分钟。假设dictionary是1百万个单词量级
2. 稍微不那么黄的暴力解法是,对于dictionary里边的每个单词,去matrix里边走看
能不能走通。感觉上单词百万级会更慢,实际上可以降低运行时间到一分钟之内。原因
是,每个单词去走的时候,不需要每走一步就检测是不是合法单词,不合法直接退出,
大量的剪枝了。
3. 把dictionary建trie,这样在matrix里边每走一步都检查trie是不是能往下走。如
果当前prefix就已经invalid了,那这条路就不可能走出单词了。运行时间几乎等于建
trie的时间,大概是0.3s量级。
建trie的过程大概是建立一个27叉树,分别存a-z(不考虑case)以及结束标志比如$。
每个node不用存字符本身,存一个bool值就行。true表示这个路径存在否则不存在。相
当于把a-z map到0-25。
4. hashtable还没用过。如果建hashtable去剪枝,可以把matrix里边所有可能的两个
相邻字符存到hashtable里。key是两个相邻字符,value是这两个字符的位置信息。
然后对于每一个单词,每次取两个字符,看hashtable里边有没有这个key。并且检查
value是不是能跟之前走过的地方连起来并且合法。运行时间比trie更快,大概快一倍。
没试过相邻3个字符,估计还能加速。
欢迎提出更好的算法
【在 b*******l 的大作中提到】
![](/moin_static193/solenoid/img/up.png)
: 怎么利用数据库结构的帮助剪枝啊?大侠能否给个标准答案?我看网上的算法好像都是
: 那种很慢的。我自己运行了一下,真的很慢啊。
: 在下先谢过了。
b*l
24 楼
Mark一下,等我消化消化。多谢大侠!
相关阅读
美国哪里有卖蓬蓬裙?包伟铭...请mm指点买la mer 和la prairie的网站全名和最好折扣时间:)[bssd]姐妹们VC的Semi Annual 大减价都买了啥?(WSN和男性勿入)请问现在哪里Gucci会打折?SWAROVSKI online打折呢冬天的外套只买sale,从不买原价的飘来了express 的on line saleTiffany九折,怎么操作?加钻石选择问题!NY的大使馆是周一到周五,上午9点到下午5点去都行么?水:如何在家制造核爆...(转)EL,Chanel,Dior粉底Sephora 2011 Beauty Insider Birthday Gift急问婚戒白金跟铂金的区别给推荐几款男士香水吧ZOYA指甲油deal+试色Timberland关于espresso machine, ural请进凑热闹,讲下我的咖啡经历