面试题中的几道算法
面試題中的幾道算法
1. n個整數,其中有2個相同,請設計算法將此數找出來。算法復雜度要求為O(n).
?
2. 用C語言的一行語句判斷一個整數是否為2的冪次(比如2,4,8,,,1024,,,).
?
3. 有一個單向鏈表,請設計4種不同的算法,將鏈表中節點從尾部向前,逐個刪除.
?
4. 請用宏實現 swap(a,b) [不允許使用臨時變量]。
?
5. n個整數,設計算法只用 1.5n 次比較找出其中的max及min.
?
6. n個數,設計算法用最小的時間復雜度,找出其中第二大的數。
從效率的趨勢看星際
星際的發展從來不曾停滯,21世紀的星際理念越來越傾向于追求效率,比如說以前的TVZ,總是在MM之后VF,VS,BE這樣按部就班地穩扎穩打,而如今則是70%的速雙基地,而PVZ也是如此,從雙兵營壓制到如今比較通用的單兵壓制轉雙基地,這都是追求效率的表現,對于這樣的一種發展態勢,無疑是符合星際不斷進取的發展趨勢的,總結原因我想有幾點,
第一,對星際的理解日益成熟,認識到星際戰爭從長遠來看是經濟戰,持久戰,消耗戰,所以不再冀望于初中期RUSH就解決對手,而是著眼于可持續發展,用初期發展的最大化來取得中期的優勢。
第二,對種族對抗的認識加深,對前期戰術,局勢和兵力的計算更加精確,無數次對決的積累,使得選手們對前期的發展變化和局勢都有了很深刻的認識,他們知道在什么情況下對手最多能發展成什么樣,有多少兵力,從而確定在自己能守住的情況下速開雙基地,以求得中期經濟的絕對優勢。
第三,對操作能力的自信,對防守優勢的理解和利用非常好。從去年一系列的職業比賽中,我們一再看到這樣的趨勢,覺得能守住了,馬上就地擴張,甚至馬上就偷礦,這已經成為一些頂尖人類的定式,因為人類本身就如此善守,似乎星際的發展就要毫無阻礙地向追求高效的方向前行,速雙基地儼然成為T的標準開局了,由此形成T中期的無比強大讓Z無計可施,整體陷入低迷,但是此時7月蟲橫空出世了,他用犀利的操作粉碎了TERRAN的最終幻想,他讓TERRAN的速雙基地開局成為Z,P的笑柄,人類的噩夢。人類突然發現,原來蟲族的正面在絕頂微操下竟如此犀利,追求效率的思路遭到了質疑和重創。于是,TERRAN重回老路,繼續穩扎穩打的思路,但是吉列OSL冠軍已然成就了“刀鋒蟲族”,用傳統的穩健TVZ思路再去和鏈式擴張流的犀利風格對抗,沒有任何勝算希望,在一系列潰敗后,以Nada,OOV為首的TERRAN開始反思,尋求新的TVZ思路,終于有所成,OOV繼續自己的追求效率思路,堅決貫徹雙基地開局,不過改良了自己的雙礦防守和中期進攻,雙基地后防守更穩健,而中期則利用Z傾向進攻的風格,第一波不是自己主動謀求進攻,而是以守為攻等待Z的攻勢,以消耗Z的有生力量,從而取得中期的主導權,再傾力進攻,MSL遂以此2:0擊敗刀鋒蟲族,而Nada則在不斷變化以求對策,從自己最擅長的HANBANG RUSH到得心應手的機械化戰略,然而無一不以失敗告終,在失去了KT-KTF和MSL后,Nada痛定思痛,吸取了過往的教訓,終于改良創造了出了最適合自己的TVZ戰略---擴張流SK,在當今世界,也唯有Nada能完美運用這一對意識,戰術,操作都要求超高的戰略體系。
擴張流SK,1,初期堅決貫徹壓制和速擴張的思路,不論是科技開局還是RUSH開局,都要求在初期騷擾打擊Z,以盡量限制住Z的發展過快,自己則可以安全地速擴張成功,(如果前期能夠重創Z,那么此消彼長也可以不速擴張,而是不給Z喘息之機,直接單礦HANGBANG RSUH消滅Z。) 以此相對照,Z必須要精確控制前期的每一個步驟,做好偵察和反偵察,根據T的策略制定相應的對策。
2,前中期堅持SK戰略保持擴張和瘋狂暴兵掃礦,少出TANK守家或者甚至不出TANK,就是高攻防的SK和Z周旋,在很多寬廣的地圖上TANK的推進作用不明顯,而沒有了TANK作為累贅影響移動,SK顯得更靈活,面對高科技的Z也更從容,不論你出何種科技,暴科學求都能有效對付。以擴張對擴張,以暴兵對暴兵,利用Z全兵種操作上和攻防的缺陷,用高攻防低消耗的MM和Z比拼經濟消耗,由于MM先天的優勢,除非Z在資源上占據很大優勢,能夠憋出大量的牛+LURKER+蝎子這樣超級組合,否則和任何其他形式的Z兵團交戰都不落下風,而Z也確實很難在中期如此強大的壓力下能形成終極組合。這就要求Z在中期擴張的效率要比T高,攻防不能落后于T,面對SK中期選擇什么樣的組合還是頭等難題。刺蛇加LURKER真的是那么好嗎?就一定比小狗加LURKER好?沒有更好的組合了?我也一直很頭疼這個。
3,中后期,SK配合大和正面推進,側面多運輸機多點空頭。在保持擴張后,T擁有大量的資源可以出大和戰艦,而Z正面一時會沒有有效的手段來對對付T這樣恐怖組合,在吸引住Z正面的注意后。T可以肆無忌憚地多點空投Z后方,破壞Z的經濟和重要建筑。ZERG危機重重。后飛龍時期,失去制空后,后期怎樣保護好自己的擴張點成為重要一環,面對T的終極組合怎樣對付也還是探索之中。
面對Nada的嶄新變化,JulyZERG顯得應變不足,0:3,這樣懸殊的比分顯示了Nada新策略的威力,同樣也對Z提出了疑問,如何對付Nada的擴張流SK,在GoRush和Nada的對抗中我們依稀找到了一些思路,也看到了勝機,但最后Nada還是從極為不利安全運轉到最后勝利。
TVZ的戰略從追求效率到被強力遏止和質疑,再到追求效率,人類的發展呈螺旋式的前進,這也是星際戰略戰術發展的趨勢,在不斷的否定之否定中改良創新,這是星際長盛不衰的原因所在。
?
總結
- 上一篇: R语言——星图和脸谱图画图及函数使用笔记
- 下一篇: 【教男朋友用python做计量】03.利