原创 找出會移動的獎品

問題: 有n個瓶子,有一個獎品,遊戲者需要猜出獎品在哪個瓶子中。 有n個黑色的瓶子(以至於遊戲中看不到瓶中是否有東西)設從0到n-1編號,一字排開。每一次如果遊戲者猜錯了,那麼獎品會各以50%的概率移動到左邊或者右邊的瓶子中。當獎品位於

原创 N個正整數連接成最大的數

題目:給出N個正整數,如 {7, 959, 95, 71, 1}, 求將這些數連接起來所組成的最大的數,即959957711。 變形:給出N個由0...9組成的字符串(開頭可能爲零),求將這些字符串連接起來,所組成的最大(最小)的數。

原创 出界的概率

問題: 一個小島,表示爲一個N×N的方格,從(0,0)到(N-1, N-1),一個人站在島上,位置(x, y),他可以上下左右走,一步一個格子,他選擇上下左右的可能性是一樣的。當他走出小島,就意味着死亡。假設他要走k步,請問他死亡的概率有

原创 柱狀圖中找最大矩形 & 矩陣中找最大的僅含相同值的矩形區域

一、具體題目如下:給一組非負的整數來表示一個柱狀圖,設計一個算法獲得柱狀圖中最大矩形的面積。比如,輸入如下數據:2,1,5,6,2,3 ,其中每個數表示一個柱狀條的高度,柱狀條的寬度爲默認值1,則計算得最大矩形的面積爲10。  ==>

原创 std::sort與qsort

std::sort與qsort的性能對比,一般來說std::sort要優於qsort的 std::sort通常實用的introsort(內省排序),通常實現爲快排、堆排、插入排序的混合。 參照gcc 4.1.1的std::sort的代碼

原创 三路劃分

問題:對一個只可能含有1、2、3三種值的數組,按升序排序。 另一種常見問法:有一個只可能含有紅、綠、藍三種顏色的序列,進行分類,使紅色都位於最左邊,藍色都位於最右邊。 解法I:使用計數排序,比較直觀,不再說。 解法II:進行兩次快排

原创 尋找波谷

問題: 給定數組A[1...n],滿足:n>=3, A[1]>=A[2],  A[n] >= A[n-1]。 若A[i]爲波谷,則:A[i-1] >= A[i] <= A[i+1]。 請在O(logN)時間內,找到數組中的一個波谷。 分

原创 最長的含有相同數目的01子串 & 括號匹配問題

題目:給定一個字符串,字符串中只包含‘0’和‘1’。請找到一個最長的子串,使得其中0和1的數量是相同的 例1:“10101010” 結果就是其本身 例2:“0011110”結果是“0011” 擴展:給定一個字符串,字符串只包含‘(’和

原创 C語言下的封裝、繼承與多態

     上次課,錢SIR提到,Liux下面也有很多用C實現的面向對象的結構。比較感覺興趣,就在網上查了一些資料,原來C語言模擬實現面嚮對象語言所具有的特性:多態,繼承,封裝,也是一件很簡單的事兒。並且現在很多開源軟件都了用C語言實現了這

原创 win7下Matlab中out of memory錯誤的解決辦法

         之前在IIT時就遇到本本跑matlab時out of memory,一直沒有去想怎麼解決,直接將程序發到工作站跑的.回來後沒有條件,還是遇到這個問題了. 跑程序時內存空間實際上足夠,但卻裝不下一個大容量的矩陣,原因是保存

原创 兩道概率面試題

問題一: 一根一米長的繩子,隨機斷成三段;求最短的一段的期望長度以及最長的一段的期望長度。 分析: 這道題實際是一道純粹的概率題,沒有太多技巧。自己有推導,但是概率論忘得差不多了,退出來的概率有點詭異;以後補充一下知識,再推導。 先放一

原创 樓層扔雞蛋問題

==有限層數和蛋數,求即使最壞情況下需要的最少判斷次數==兩個軟硬程度一樣但未知的雞蛋,它們有可能都在一樓就摔碎,也可能從一百層樓摔下來沒事。有座100層的建築,要你用這兩個雞蛋確定哪一層是雞蛋可以安全落下的最高位置。可以摔碎兩個雞蛋。

原创 NVIDIA CUDA C GETTING STARTED GUIDE FOR MICROSOFT WINDOWS

DOWNLOAD THE CUDA SOFTWARE The CUDA software is available athttp://www.nvidia.com/object/cuda_get.html. Choose the p

原创 《Effective C++(第三版)》-筆記

1. 讓自己習慣C++ 條款01: 視C++爲一個語言聯邦 1.1 C++ 是一個多重泛型編程語言(multiparadigm programming),支持:過程形式(procedural),面向對象形式(object-oriente