Long Luo's Life Notes

每一天都是奇迹

By Long Luo

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法,算法复杂度为:O(log2n)。但是,折半查找要求线性表必须采用顺序存储结构 ,而且表中元素按关键字有序排列。

  1. 必须采用顺序存储结构;
  2. 必须按关键字大小有序排列。

二分查找充分利用了元素间的次序关系,采用分治策略。算法的基本思想是(假设数组arr呈升序排列):

  1. 将n个元素分成个数大致相同的两半;
  2. 取arr[n/2]与欲查找的x作比较,如果x = arr[n/2]则找到x,算法终止;
  3. 如果x < arr[n/2],则只要在数组arr的左半部继续搜索x;如果x > arr[n/2],则我们只要在数组a的右半部继续搜索x。

二分查找常见有2种实现方式,迭代和递归,下面我们来实现这2种方式:

迭代

代码如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
* Returns the index of the specified target in the specified array.
*
* @param arr the array of integers, must be sorted in ascending order
* @param target the search target
* @return index of key in array {@code arr} if present; {@code -1} otherwise
*/
public static int binarySearch(int[] arr, int target) {
int low = 0;
int high = arr.length - 1;
while (low <= high) {
int mid = low + (high - low) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] < target) {
low = mid + 1;
} else if (arr[mid] > target) {
high = mid - 1;
}
}

return -1;
}
阅读全文 »

By Long Luo

上周末去了趟南方工厂,下午顺便逛了下朋友圈网红之地:华为欧洲小镇,大名溪流背坡村

作为一名业余建筑爱好者,不用出国门就可以体验十多个不同风格的欧洲小镇,确实不虚此行。既能体验浓浓的地中海风情,也有精致考究的法式巴黎大学城,更有学院风温和宁静的海德堡…

海德堡城堡 (Schloss Heidelberg)
西奥多古桥 (Karl Theodor Bridge)

从美观角度来看,溪村确实很美,但如果从建筑学角度来看,其实不足之处也不少。任何建筑都脱离不了形成它的文化和环境,但这些建筑群只是在钢筋混凝土的骨架上再套上一层欧式风情的外壳,内涵还不够。

阅读全文 »

By Long Luo

帕累托法则,也叫二八定律,源于意大利经济学家帕累托观察到的一个经济现象,即 20% 人拥有整个意大利超过 80% 以上的财富,后来人们发现这种现象广泛存在于自然界中。一般人包括我之前误以为 20+80=100 ,其实 90/10, 100/10, 100/5 都是可以的。由于猪队友的存在,120/5 都是广泛存在的。

自然界中平等是不存在的,资源并不是均匀线性分配的,大家都学过正态分布。最重要的只占很小一部分,大多数其实都是无关紧要的。南朝诗人谢灵运曾他说:“天下有才一石,曹子建(曹植)独占八斗,我得一斗,天下共分一斗。”虽然有所夸张,但大致反应了自然界的情况。

如何用这个原则来指导我们日常学习工作?

你的时间和精力都是有限的,你需要学会抓住主要矛盾,与其面面俱到不如重点突破。比如写文章前,先花10分钟想好写什么并列出大纲就比你没有明确的观点并动手写收益大。

Updated By Long Luo 2018年12月23日 at Shenzhen.

By Long Luo

2018年10月22日上午8:45分,结束出差回到深圳的第三周,终于预约到了人民医院的口腔科,躺在手术椅上张大嘴,等待医生进行牙齿检查。当医生认真检查完我的牙齿后,对我说,“你的牙已经没法补了,只能做根管治疗。另外,还有一颗龋齿要补”。

几个流程下来,在付出了大量时间和金钱之后,终于把曾经因为阻生智齿搞坏的那颗牙齿修复了。在这段时间里,除了恶补了牙齿护理的知识之外,也深刻反省了下自己,写下了这篇小文。

一、最自信的地方也是你最薄弱的地方

从小到大,一直以来对自己的牙齿都非常自信,原因有三:第一,20多年来牙齿一直没有出过问题,而且长的还算整齐吧,把正畸费用也省了;第二,一直坚持早晚刷牙,睡前不吃甜的东西,虽然没有使用专业漱口水,但饭后都会漱下口;第三,饮食方面非常注意,尽量少吃辣的、甜的。

小时候没什么钱买零食,一直以来都不喜欢吃甜的东西,所以看到有些小孩因为吃零食导致一口烂牙时,心里还庆幸自己从未有过这种烦恼。

正所谓,最危险的地方也是最安全的地方,最自信的地方也是你最薄弱的地方

2年前某天,突然发现自己在吃冰淇淋的时候居然会股钻心之痛,但我那个时候还没把它当回事,也没有意识到这是身体对我发出的警告:我的某颗牙已经坏了。

之后又过了几个月,终于在某天发现自己牙疼的不行了,彻夜不眠,那种感觉怎么形容呢?

疼到眼睛睁不开,疼到头和嘴巴不敢动,疼到虚脱,疼到迷糊,疼到想死…

挣扎着挂了口腔科的号,检查之后知道问题出在我的阻生智齿已经顶坏了我的一颗好牙,只能先拔智齿再处理。

通过牙齿这件事,我上了一堂永生难忘的课!

二、敬畏疾病

疾病不是身体给我们找麻烦,而是身体对我们发出的警告,告诉我们要注意健康,修养身体。只有学会直面疾病,接纳疾病,检讨自己的生活方式问题并加以改善,才能从根本上改善身体健康

很多人对医学的治愈范围几乎不了解,却毫无来由地抱持乐观的态度,总觉得自己身上的一切问题都能通过购买药物快速搞定,实在搞不定,找小医院医生,不行就找大医院医生,再不行找专家,总能搞定。这种盲目乐观的精神,不知道是基于什么样的信念,得以如此牢固地占据着很多人的心智?

医学发展到现在,虽然技术已经一日千里,但仍然是存在局限的。

你身体中的很多零件,虽然很多已经可以人造的,但是目前人造的远远不如原装的。当你的零件坏了,就只能使用人造的。更重要的是,很多零件没有人造的

三、不要忽视每一个细小的征兆

现在回想起来,其实2014年度体检的时候,医生就告诉我有龋齿,但我当时没当回事,结果造成后来的结果。

现在回想起来,当时草草放过,主要是对龋齿认知不够的问题,只是认为单纯的表面不干净而已。

所以,不要忽略每一个细小的征兆

阅读全文 »

By Long Luo

一、

从我有记忆开始,我家就供奉着好几个神,有观音、佛祖、灶神等等,每逢初一十五或者佛教中重要的日子时,奶奶和妈妈都会叫上我,去拜拜他们,为全家祈福,保佑全家平平安安,健健康康。

佛教,作为世界三大宗教之一,距今已有二千五百多年了,而自西汉末年传入中国以来,也已经有二千多年历史了。中学历史课本里说,佛教是统计阶级用来统治人民的工具,因为佛教中一个很重要的观点就是因果轮回,这个观点可以让被统治者安于被统治被奴役的现状。我想,虽然佛教中一些观点和统计阶级的利益不谋而合,所以造成

早已成为了很多人的传统。不过,很少家庭理解佛学,大众眼里的佛教,其实就一个字:。我给你烧钱、祭祀、叩拜、诵经,求你保佑我升官发财,健康长寿。当然,这样做可以起到一个重要的作用就是心理安慰。

我个人对这方面也没啥研究,我到每个寺庙里也会认真的烧香、叩拜、祈福,倒不是我相信有求必应,只是我个人也有自己的一些迷信,可能是人生太复杂了,而我们都有自己的局限性,所以有时就诉诸于神,祈求内心的安定。

二、

烦恼与快乐总是相伴相生的。

假使禽兽只知求食保命外加生育后代,它们便始终以此为中心,只要能够满足三者,便怡然自足。而人显然不满足得多,又是金钱、又是学历、又是地位、又是亲密关系,如此等等,无一不在劳累人神,伤及身心,如果不追求,却说是胆识不够、气度平庸、心胸狭窄等等,也是要伤及五脏六腑的罢,至少一个“没出息”“没志气”会让许多人接受不了,招架不住。于是奔忙求索,相比于普通动物,人显然活得更累,是不是更快乐,也许真不得而知。

不上不下的人最为焦虑,我们只是幸运的念了点书,有了份尚可的工作。

我们知道这个世界的辽阔,不满足于现状,却又到不了自己想去的地方…

井蛙和鲸鱼都会是快乐的,最可怜的是淡水鱼, 见过辽阔的大海,但终其一生却只能游在河里。

三、

佛说众生皆苦,所以要普度众生,四个字道出了人生幸福的几个方面。

一言人生有此岸,有现实; 二言人生有彼岸,有理想; 三言人生价值的实现需要桥梁,需要借与外物; 四言众生,而对比出自己的渺小,世界之浩瀚; 五言人生之繁复,方方面面,林林总总,构成了无形的人生之路; 六言普渡方能众生,施与力量,百花齐放才是精彩世界;八言度,含度过或者渡河渡海这意,时间的累积形成人生,因此几乎不能完全预测,有风雨有征程,慢慢经历才能将人生的本来面目显现出来。

阅读全文 »
0%