原创 挖雷遊戲的概率

轉自:http://blog.csdn.net/freeboy1015/article/details/7544835 編程之美最後一題“挖雷遊戲的概率”沒附答案, 有一則腳註雲“此題適合MATLAB用戶解答”, 頗感有趣. 題目說,

原创 文件中隨機讀取行問題

1. 有一個文件,如何在不知道有多少行的情況下讀取該文件,從中隨機選擇並輸出一行 當我們讀取第 i (i  > 0) 行時,以 1 / i 的概率選擇第 i 行,並替換掉原來選的行。 即總選擇第一行,並以概率 1 / 2 選擇第 2 行

原创 【微軟面試題】在二叉搜索樹中找最小的大於某個key值的節點

在二叉搜索樹中找最小的大於某個key值的節點 如          8       /       \    6         12   /             /   \ 2          11    14 key = 8 返

原创 常量空間遍歷二叉樹

我們知道遍歷一棵二叉樹,無論是先序遍歷、中序遍歷、後序遍歷都需要一個O(n)大小的棧空間(系統棧或程序員控制的棧),或層次遍歷需要一個O(n)大小的隊列。那麼如何在常量空間內遍歷呢? 本文介紹Deutsch-Schorr-Waite算法,

原创 子數組的乘積

給定一個數組a[N],我們希望構造數組b[N],其中b[i]=a[0]*a[1]*...*a[N-1]/a[i]。在構造過程:不允許使用除法;要求O(1)空間複雜度和O(n)時間複雜度;除遍歷計數器與a[N] b[N]外,不可使用新的變量