Twitter算法面試題詳解(Java實現(xiàn))
posted @ 2013-11-03 18:03 銀河使者 閱讀(8608) | 評論 (4) 編輯
隨筆 - 312, 文章 - 14, 評論 - 1393, 引用 - 0
|
algorithmTwitter算法面試題詳解(Java實現(xiàn))
摘要: 最近在網(wǎng)上看到一道Twitter的算法面試題,網(wǎng)上已經(jīng)有人給出了答案,不過可能有些人沒太看明白(我也未驗證是否正確),現(xiàn)在給出一個比較好理解的答案。 閱讀全文
posted @ 2013-11-03 18:03 銀河使者 閱讀(8608) | 評論 (4) 編輯 百度面試題:求絕對值最小的數(shù)
摘要: 有一個已經(jīng)排序的數(shù)組(升序),數(shù)組中可能有正數(shù)、負數(shù)或0,求數(shù)組中元素的絕對值最小的數(shù),要求,不能用順序比較的方法(復(fù)雜度需要小于O(n)),可以使用任何語言實現(xiàn)
例如,數(shù)組{-20,-13,-4, 6, 77,200} ,絕對值最小的是-4。 閱讀全文 posted @ 2013-01-30 11:45 銀河使者 閱讀(12116) | 評論 (10) 編輯 不使用中間變量交換兩個數(shù)(Java版)
摘要: 在程序中實現(xiàn)交換兩個數(shù)的功能并不復(fù)雜,但如果不使用中間變量,就需要動一下腦筋。在本文介紹了兩個方法(其實原理都是一個)。其基本原理就是數(shù)的中和。也就是說,通過某種運算(二元運算)將a和b兩個數(shù)變成一個數(shù),并保存在其中一個變量中。然后再通過同樣的運算符將a或b中和掉。這樣實際上是利用了a或 b本身作為了中間變量。 閱讀全文
posted @ 2010-07-28 10:29 銀河使者 閱讀(2793) | 評論 (8) 編輯 有道難題2009復(fù)賽題解答(Java版):求大于給定數(shù)的最小不重復(fù)數(shù)
摘要: 最近看了有道出的幾個復(fù)賽題,覺得很好玩,現(xiàn)給出Java版的答案。先看看提干部分。如果一個數(shù)字十進制表達時,不存在連續(xù)兩位數(shù)字相等,則稱之為“不重復(fù)數(shù)”。例如,105,1234和12121都是“不重復(fù)數(shù)”,而11,100和 1225不算。給定一個long類型數(shù)字A,返回大于A的最小“不重復(fù)數(shù)”。 閱讀全文
posted @ 2010-05-11 16:23 銀河使者 閱讀(3580) | 評論 (21) 編輯 生成n*n蛇形矩陣的算法
摘要: 在描述算法之前,先看看下面的5*5的表格:
1 3 4 10 11 2 5 9 12 19 6 8 13 18 20 7 14 17 21 24 15 16 22 23 25 上面的表格很容易看出規(guī)律。就是從左上角第一個格開始(起始為1),然后延右上角到左下角的斜線。先從下到上,再從上到下。開始按數(shù)字遞增排列。也就是說每一個斜線上分別有如下幾組數(shù)字: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 閱讀全文 posted @ 2009-07-24 11:04 銀河使者 閱讀(8687) | 評論 (7) 編輯 Base64編碼原理與實現(xiàn)
摘要: 本文介紹了Base64編碼的基本原理,并給出了一個簡單的Base64編碼的實現(xiàn) 閱讀全文
posted @ 2009-05-29 19:20 銀河使者 閱讀(4772) | 評論 (0) 編輯 09考研數(shù)據(jù)結(jié)構(gòu)試題的一種解法(Java版)
摘要: 雖然研究生已畢業(yè),但看到有一些難度的研究生考試題還是忍不住要做做,本文給出了09年研究生入學(xué)考試的一道數(shù)據(jù)結(jié)構(gòu)題的Java實現(xiàn)。本文給出的算法的空間復(fù)雜度為O(1),時間復(fù)雜度為O(n)。 閱讀全文
posted @ 2009-01-17 20:50 銀河使者 閱讀(3488) | 評論 (7) 編輯 選擇排序(selection sort)算法實現(xiàn)
摘要: 從字面上理解,就是通過不斷地選擇數(shù)組元素,從而達到排序的目的。我插入排序類似,假設(shè)第i(i
posted @ 2008-05-16 13:21 銀河使者 閱讀(1565) | 評論 (0) 編輯 希爾排序(shellsort)算法實現(xiàn)
摘要: 希爾排序(shellsort)又叫增量遞減(diminishing increment)排序,是由D.L. Shell發(fā)明的,這個算法是通過一個逐漸減小的增量使一個數(shù)組逐漸趨近于有序從而達到排序的目的。 閱讀全文
posted @ 2008-05-15 22:01 銀河使者 閱讀(2391) | 評論 (1) 編輯 快速排序(quicksort)算法實現(xiàn)
摘要: 快速排序(quicksort)是分治法的典型例子,它的主要思想是將一個待排序的數(shù)組以數(shù)組的某一個元素X為軸,使這個軸的左側(cè)元素都比X大,而右側(cè)元素都比X小(從大到小排序)。然后以這個X在變換后數(shù)組的位置i分為左右兩個子數(shù)組,再分別進行快速排序,直到子數(shù)組中只有一個元素為止。
閱讀全文 posted @ 2008-05-14 20:14 銀河使者 閱讀(6579) | 評論 (1) 編輯 得到第K個大的數(shù)算法研究
摘要: 第一種算法是最容易想到的,就是利用快速排序的思想,將一個數(shù)組分成以某一個數(shù)X為軸,左邊的所有的數(shù)都比X小,而右邊的數(shù)都比X大。但我快速排序不同的是,在這個算法中只考慮X的一邊,而不是兩邊都考慮。 閱讀全文
posted @ 2008-05-12 20:55 銀河使者 閱讀(2040) | 評論 (0) 編輯 棋盤覆蓋問題的算法實現(xiàn)
摘要: 在一個2^k * 2^k個方格組成的棋盤中,有一個方格與其它的不同,若使用以下四種L型骨牌覆蓋除這個特殊方格的其它方格,如何覆蓋。 閱讀全文
posted @ 2008-05-11 22:29 銀河使者 閱讀(4124) | 評論 (1) 編輯 全排列算法原理和實現(xiàn)
摘要: 全排列是將一組數(shù)按一定順序進行排列,如果這組數(shù)有n個,那么全排列數(shù)為n!個?,F(xiàn)以{1, 2, 3, 4, 5}為
例說明如何編寫全排列的遞歸算法。 閱讀全文 posted @ 2008-05-11 15:43 銀河使者 閱讀(7865) | 評論 (11) 編輯 整數(shù)劃分算法原理與實現(xiàn)
摘要: 整數(shù)劃分問題是將一個正整數(shù)n拆成一組數(shù)連加并等于n的形式,且這組數(shù)中的最大加數(shù)不大于n。 閱讀全文
posted @ 2008-05-11 15:41 銀河使者 閱讀(2031) | 評論 (0) 編輯 |
|