在寫之前筋岛,順便逛了一下仁兄的主頁茫孔,受益匪淺淹冰,把自己有所感悟的地方摘抄下來库车,慢慢領(lǐng)悟
關(guān)于效率--產(chǎn)能和產(chǎn)出
真正的效能應(yīng)該包含兩個(gè)要素:一是“產(chǎn)出”,即金蛋樱拴;二是“產(chǎn)能”——生產(chǎn)的資產(chǎn)或能力柠衍,即下金蛋的鵝洋满。
在生活中“重蛋輕鵝”的人,最終會(huì)連這個(gè)產(chǎn)金蛋的資產(chǎn)也保不住珍坊。反之牺勾,“重鵝輕蛋”的人蔓榄,最后自己都可能會(huì)被活活餓死忘朝,更不用說鵝了。
所以毛嫉,效能在于產(chǎn)出與產(chǎn)能的平衡袱饭。
日常生活中,你是否曾為了多收獲幾枚金蛋而廢寢忘食地工作呛占,結(jié)果弄得精疲力竭虑乖,無法繼續(xù)工作?其實(shí)若能好好睡一覺晾虑,那么第二天就會(huì)精力充沛疹味,完成更多的工作,更好地迎接這一天的挑戰(zhàn)帜篇。
再比如糙捺,你強(qiáng)迫別人按你的意志行事,結(jié)果卻發(fā)現(xiàn)你們的關(guān)系變得空洞無物笙隙;反過來洪灯,如果你能用時(shí)用心經(jīng)營人際關(guān)系,就能贏得信任與合作竟痰,通過開誠布公的交流獲得實(shí)質(zhì)性的進(jìn)展签钩。
對(duì)待愛
“可是沒有愛,你讓我怎么去愛呢坏快?”
“老兄铅檩,愛是一個(gè)動(dòng)詞,愛的感覺是愛的行動(dòng)所帶來的成果莽鸿,所以請(qǐng)你愛她昧旨,為她服務(wù),為她犧牲祥得,聆聽她心里的話兔沃,設(shè)身處地為她著想,欣賞她啃沪,肯定她粘拾。你愿意嗎?”
在所有進(jìn)步的社會(huì)中创千,愛都是代表動(dòng)作缰雇,但消極被動(dòng)的人卻把愛當(dāng)做一種感覺入偷。好萊塢式的電影就常灌輸這種不必為愛負(fù)責(zé)的觀念——因?yàn)閻壑皇歉杏X,沒有感覺械哟,便沒有愛疏之。事實(shí)上,任由感覺左右行為是不負(fù)責(zé)任的做法暇咆。
以一灌之的原則性---男人的一生應(yīng)樹立自始不變的價(jià)值觀 目前做人最失敗之處锋爪,搖擺不定,瞻前顧后爸业,價(jià)值觀匱乏
現(xiàn)在假定你已經(jīng)買好票其骄,準(zhǔn)備晚上與配偶一起去聽音樂會(huì),對(duì)方興奮不已扯旷,滿懷期待拯爽。
可是下午四點(diǎn)鐘,老板突然來電話要你晚上加班钧忽,理由是第二天上午九點(diǎn)鐘有一個(gè)重要會(huì)議毯炮。
◆對(duì)以家庭或配偶為中心的人而言,當(dāng)然是優(yōu)先考慮配偶的感覺耸黑,為了不讓他(她)失望桃煎,你很可能會(huì)委婉地拒絕老板。即使為了保住工作而勉強(qiáng)留下來加班大刊,心里也一定十分不情愿为迈,擔(dān)心著配偶的反應(yīng),想著用什么合適的理由來平息他(她)的失望與不滿奈揍。
◆以金錢為中心的人則看重加班費(fèi)或加班對(duì)于老板調(diào)薪?jīng)Q策的影響曲尸,于是理直氣壯地告訴配偶自己要加班,并理所當(dāng)然地認(rèn)為對(duì)方應(yīng)該諒解男翰,畢竟經(jīng)濟(jì)利益高于一切另患。
◆以工作為中心的人會(huì)覺得正中下懷,因?yàn)榧影嗉瓤梢宰屪约涸黾咏?jīng)驗(yàn)蛾绎,又是一個(gè)很好的表現(xiàn)機(jī)會(huì)昆箕,有利晉升,所以不論是否需要租冠,都會(huì)自動(dòng)延長加班時(shí)間鹏倘,并想當(dāng)然地以為配偶會(huì)以此為榮,不會(huì)為爽約一事小題大做顽爹。
◆以名利為中心的人纤泵,會(huì)算計(jì)~下加班費(fèi)能買到什么,或者考慮一下加班對(duì)個(gè)人形象有何助益镜粤,比如贏得一個(gè)為工作而犧牲自己的美譽(yù)捏题。
◆以享樂為中心的人玻褪,即使配偶并不介意,也還是會(huì)撇下工作赴約公荧,因?yàn)閷?shí)在需要犒勞自己一下带射。
以原則為中心的人會(huì)保持冷靜和客觀,不受情緒或其他因素的干擾循狰,綜觀全局——工作需要窟社、家庭需要、其他相關(guān)因素以及不同決定的可能后果绪钥,深思熟慮后才做出正確的選擇灿里。
雙贏思維--情侶之間,合作伙伴之間程腹,如果不能雙贏钠四,寧可不做,畢竟互不相欠跪楞,任意無所的違心妥協(xié),都是不正當(dāng)?shù)娜穗H關(guān)系
在相互依賴的環(huán)境里侣灶,任何非雙贏的解決方案都不是最好的甸祭,因?yàn)樗鼈兘K將對(duì)長遠(yuǎn)的關(guān)系產(chǎn)生這樣那樣的不利影響,你必須慎重對(duì)待這些影響的代價(jià)褥影。如果你無法同對(duì)方達(dá)成雙贏的協(xié)議池户,那么最好選擇放棄。
在家里凡怎,“不能雙贏就干脆放棄”這個(gè)原則也能讓大家感到輕松自由校焦。如果在看什么電影的問題上僵持不下,那么不如放棄看電影统倒,做些別的事情寨典,總比這個(gè)夜晚有人歡喜有人愁的要好。
有效溝通房匆、有效溝通耸成、有效溝通--重要的事情說三遍,自己做的很失斣『琛井氢! 關(guān)鍵在于抓重點(diǎn)、邏輯的清晰度岳链、對(duì)整體事物的宏觀把控
接下來進(jìn)入正題
題7--查找和排序
查找的方法無外乎有三種--二分查找花竞、哈希表查找、二叉排序樹查找
排序的方法有--插入排序掸哑、冒泡排序约急、歸并排序零远、快速排序
題目如下---旋轉(zhuǎn)數(shù)組的最小數(shù)字
把一個(gè)數(shù)組最開始的若干個(gè)元素搬到數(shù)組的末尾,我們稱之為數(shù)組的旋轉(zhuǎn)烤宙。
輸入一個(gè)遞增排序的數(shù)組的一個(gè)旋轉(zhuǎn)遍烦,輸出旋轉(zhuǎn)數(shù)組的最小元素。
例如數(shù)組{3,4,5,1,2}為{1,2,3,4,5}的一個(gè)旋轉(zhuǎn)躺枕,該數(shù)組的最小值為1服猪。
本題可能遇到的情況有兩種:
第一是第一個(gè)指針、第二個(gè)指針?biāo)傅臄?shù)字和兩個(gè)指針之間的數(shù)字不相同--二分查找
第一是第一個(gè)指針拐云、第二個(gè)指針?biāo)傅臄?shù)字和兩個(gè)指針之間的數(shù)字相同--順序查找
具體的思路罢猪,書中很清楚,摘錄如下:
下面是程序的代碼和注釋:
class solution (object):
def min_number(self,rotatearray):
if len(rotatearray)==0:
return 0
front=0#前指針的位置
last=len(rotatearray)-1#后指針的位置
midindex=0#初始化中間索引的位置
while rotatearray[front]>=rotatearray[last]:#第一種情況叉瘩,使用二分查找
if (int(last)-int(front))==1:#當(dāng)兩個(gè)指針的差值為1的時(shí)候膳帕,說明已經(jīng)檢索到位了
midindex=last#將last的索引值賦值給midinex
break#結(jié)束
midindex=(int(front)+int(last))//2#整數(shù)除法,返回不大于該浮點(diǎn)值的整數(shù)薇缅,也就是前指針或者后指針?biāo)苿?dòng)的位置,重新定義中間索引的位置
if rotatearray[front]==rotatearray[last] and rotatearray[last]==rotatearray[midindex]:#第二種情況當(dāng)頭指針的數(shù)字危彩,與尾指針的數(shù)字以及中間位置的數(shù)字相同時(shí),采用順序查找法
return self.equal(rotatearray,front,last)#調(diào)用下一個(gè)方法
if rotatearray[front]<=rotatearray[midindex]:
front=midindex#挪動(dòng)前指針的位置
if rotatearray[midindex]<=rotatearray[last]:
last=midindex#挪動(dòng)后指針的位置
return rotatearray[midindex]#當(dāng)?shù)谝粋€(gè)指針?biāo)傅臄?shù)字小于另外一個(gè)指針?biāo)傅臄?shù)字的時(shí)候泳桦,比如[1,2,3,4,5],那么就返回midindex=0,即序列中的第一個(gè)數(shù)
def equal(self,rotatearray,first,end):#第二種情況順序方法
result=rotatearray[0]#初始化要進(jìn)行比較的數(shù)據(jù)
for i in rotatearray[first:end+1]:
if i<result:
result=i#賦值汤徽,逐一比較
return result
def main():
test=solution()
#minnumber=test.min_number([3,4,5,1,2])
minnumber=test.min_number([1,2,3,4,5])
print (minnumber)
if __name__=='__main__':
main()
題8--遞歸和循環(huán)
遞歸一般代碼簡潔,由于循環(huán)的代碼灸撰,但是也有其缺點(diǎn)谒府,遞歸為函數(shù)自己調(diào)用自己,每一次調(diào)用都需要在內(nèi)存棧中分配空間以保存參數(shù)浮毯、返回地址和臨時(shí)變量完疫、往棧里壓入和彈出數(shù)據(jù)都需要時(shí)間
題目如下--斐波那契數(shù)列
當(dāng)數(shù)的個(gè)數(shù)為零時(shí),返回零债蓝、數(shù)的個(gè)數(shù)為1時(shí)返回1壳鹤,數(shù)的個(gè)數(shù)大于1時(shí),后一個(gè)數(shù)為前兩個(gè)數(shù)的和
斐波那契函數(shù)的變種題即為青蛙跳惦蚊,關(guān)于兩者的聯(lián)系器虾,書中是這樣介紹的:
代碼和注釋:
"""
一般來講斐波那契函數(shù)都是第一個(gè)數(shù)為0,第二個(gè)數(shù)為1
我在程序里稍作改動(dòng)蹦锋,可以更加靈活的改變斐波那契的前兩個(gè)數(shù)
"""
class solution(object):
def __init__(self,array,n):
self.array=array
self.n=n
def fb(self):
num=len(self.array)
if int(num)==0:
return 0
if int(num)==1:
return 1
elif int(num)>1:
return self.dg_solution(self.n)
def dg_solution(self,m):
if m<=len(self.array):
return self.array[m-1]
else:
return (self.dg_solution(m-1)+self.dg_solution(m-2))
def main():
test=solution([1,2],5)
print (test.fb())
if __name__=='__main__':
main()
多讀書兆沙,樹立堅(jiān)定地人生觀,堅(jiān)持讀完月童度河莉掂,下次見面葛圃,希望有新的書單list