老男孩

“见过很多类型的男人后,最终觉得男人最大的特点就是单纯,即便年纪大了也还是像小孩子的感觉。如果一个男的总是让女友感到他的成熟,那么,我想,这个女人可能没有能走进他的内心。”

From: https://book.douban.com/review/5814007/

成功的秘诀

转自:https://bbs.hupu.com/20406476.html

“你好,迈克尔。我能问问你,你成功的秘诀是什么? ”

他想了想。然后他说,“你需要做的就是热爱篮球。你如果真的非常热爱篮球,你就能成就伟大。一旦你比世界上的任何人都更爱篮球,你就会更愿意付出。你会愿意早点醒来。你会愿意做任何可以让自己变得最好的事情。但首先,你必须要真的热爱着篮球。”

全面屏

到目前所谓的全面屏手机,并没有真的做到全面屏,要么是有个下巴(mix,mix2),要么有个留海(iPhoneX),要么就是只是下巴和额头比较小(其他等等)

我就想了,这些东西为什么留着呢?不就是为了听筒和前置摄像头么。所以,为什么不把听筒和感应器都干脆挪到背后,屏幕对着脸打电话,和背面对着脸打电话又有什么不一样的呢?当然为了自拍,最好的办法是在后面增加一个屏幕,魅族好像有一款背后带屏幕的手机,这样正面就可以只放一整个屏幕了

要不要申请一下这种设计的专利呢 😀

引用

“若想活得好,最好能放弃对奇迹和命运、缘分、戏剧性的追求,比如要相信等的人永远不会出现,不会有人毫无条件的爱你,已经撕碎的纸片不会恢复的完好无损,抬头看看周围的生活,你玫瑰花瓣一样的美梦只会显得不合时宜的虚伪。”

“选择了一种生活方式,就要接受它带给你的任何一种结果。但是自己能够完全的做出选择,本身就是一种很大的幸福了,我一直这么觉得。 ”

引用自:https://movie.douban.com/review/2446670/1

Garnet Crow

纪念一下我最喜欢的乐团 Garnet Crow
终于在2013年6月走到了尽头
以后再也没有这个名字了
有点伤感

《Ruby太慢了》PHP实现,两种算法

http://www.oschina.com 之前 有一篇文章 http://www.oschina.net/translate/ruby-is-too-slow-for-programming-competitions
一下子掀起了各语言实现这个算法的狂潮

转帖呢,首先看看题目要求:给定数字X和Y,返回其中包括多少个数字,数字本身是回文数,同时也是另一个回文数的平方。

这里有一个PHP 实现,是仿照的 JAVA 算法:http://www.oschina.net/code/snippet_1023425_20741
实际上这样没有完全利用PHP本身的特点,运算速度颇慢,我本地大概27s
我以这个算法为基础,优化如下:

<?php
set_time_limit(0);
$t1 = microtime(true);
$min = 1;
$max = 100000000000000;
$i = (int) sqrt($min);
$end = (int) sqrt($max) + 1;
for (; $i < $end; $i++) {
if (($i % 10) > 0 && $i == strrev($i)) {
$n = $i * $i;
if ($n == strrev($n)) {
echo "$n ($i)<br>";
}
}
}
echo 'Time:', (microtime(true) - $t1), 's';

1、使用 strrev 可以让对回文的判断快非常多,本地测试减少了10s
2、去掉了独立的 isPlalindrome 函数。第一,调用纯PHP写的函数花费时间很多,这个修改可以节省了大约4s;第二,上一步修改后的 $i == strrev($i) 已经足够简洁
3、$min 和 $max,sqrt 后手动转成 int,否则 for 时PHP会有自动类型转换,浪费 2s 左右
4、增加了 ($i % 10) > 0,还是能快几百毫秒吧,聊胜于无
5、拆成了两个,经过测试,拆开要比写成一个 if 快一点
6、去掉了 showPlalindrome,简单到底,没必要封装,反正肯定会快那么无法察觉的一点
7、$end + 1,如果 $max 是 4000008000004 这样的符合条件的回文数,不这么写会漏掉

经过以上修改,执行大概需要 8.1s

然后,正戏来了,参考:http://www.oschina.net/code/snippet_169326_20803,中的算法:

<?php
set_time_limit(0);
$t1 = microtime(true);
$min = 1;
$max = 0xffffffffffffffff;
$palindromes = array();
$s = (string) sqrt($min);
$l = strlen($s);
$i = (int) substr($s, 0, $l / 2 + $l % 2); 
while (true)
{
$s1 = (string) $i;
$s2 = strrev($s1);
$p = (int) ($s1 . substr($s2, 1));
$pp = $p * $p;
if ($pp > $max)
{
break;
}
if ($pp >= $min and $pp == strrev($pp))
{
$palindromes[$p] = $pp;
}
$p = (int) ($s1 . $s2);
$pp = $p * $p;
if ($pp >= $min and $pp <= $max and $pp == strrev($pp))
{
$palindromes[$p] = $pp;
}
++$i;
}
ksort($palindromes);
foreach($palindromes as $p => $pp)
{
echo $pp, ' (', $p, ')<br />';
}
echo 'Time:', (microtime(true) - $t1), 's';

1 ~ 0xffffffffffffffff 只需要 0.4s
上一个算法中,那个 1 ~ 100000000000000 只需要 0.04s

这就是算法的力量….

Forrest Gump

又拖着看了一下 《Forrest Gump》,一个词纠结于心

或许。。我是“聪明”的,但是 Gump 的“笨”让我,真的感觉到了 —— 悔恨

如果曾经有些事情,我也像 Gump 一样“笨”,或许人生能变的,像曾经的我所希望的那样
虽然,这已经被现在的我“聪明”的放弃了,永远的压在了心底

所以
我悔我的过去,悔我没有那种“笨”的直接、单纯和执着,去真正的做那些想要追求的
我恨我的现实,恨我的聪明,这让我失去了那曾经是我最希望获得的幸福

虽然,不激烈,但是这个感觉却凝结在内心中无法散去

不过,我真的是现实,因为我又“聪明”的给自己了理由:
就算我现在再悔恨,过去也无法改变,除非能带着我现在的记忆重生,否则即使回到过去,一切再发生一遍,结果也还会是如此

”聪明“所以就会自私,会想要保护自己,实际上可能却会伤害自己

努力让自己”笨“一点,希望能找回那失去的直接、单纯,当若干年后再看 Forrest Gump 能无怨无悔