模糊距離;及七夕鵲橋分析
今日面試題:模糊距離
X和Y都是隻有0和1組成的字串。D(X,Y)稱為模糊距離,定義如下:
- 首先刪除X和Y從頭開始的公共子串
- 然後將X和Y剩下部分的長度相加得到模糊距離
例如D(1000,1111),首先,刪除子串“1”,然後剩下“000”和“111”長度都是3,相加為6,則D(1000,1111)=6。 例如D(101,1100),首先刪除公共子串“1”,然後剩下"01"和"100"長度分別為2,3,相加為5,則D(101,1100)=5。
問題是,給定n個只有0和1的字串,
如:
1111
1000
101
1100
...
請找到最大的模糊距離,字串總數為n,字串最長為m。
================================================
七夕鵲橋分析
原題
有n對喜鵲。每一對可以表示為(x,y),x、y是喜鵲的編號,並且任意一對,x總是小於y。(c,d)可以連線在(a,b)之後,當且僅當b< c 。多對喜鵲連線在一起,就構建成了鵲橋。給定n對喜鵲,請你構建最長的鵲橋,來幫助有情人相會。
分析
首先,要理解這個題目的意思。具體例子說明,給定下面的例子:
(15,40) (5,8) (1,10) (30,31) (34,35) (9,20) (36,37) (2,4)
其中,(2,4)和(5,8)能夠連線起來,(5,8)和(9,20)能夠連線起來,則它們可以都連線起來,為(2,4)(5,8)(9,20)。這一段鵲橋,長度為3。依次類推,還有其他的情況。
然後,理解了題意,該如何解決呢?假設(a,b)(c,d)(e,f)是可以連線起來的三對喜鵲。則它們的關係如下: b < c,d< e,有根據a< b,c< d,e< f。得到,a< b< c< d< e< f,即b< d< f(a< c< e出發考慮,也是一樣的。)我們可以想象,以每一對喜鵲的第二隻編號為基準,進行排序,最終的結果,可以通過如下列表產生。
(2,4) (5,8) (1,10) (9,20) (30,31) (34,35) (36,37) (15,40)
怎麼找到最長的鵲橋呢?其實就是在上表中,找到最長遞增子序列,只不過,在比較連個喜鵲對(a,b)(c,d)的時候,是b和c進行比較即可。這個時間複雜度是O(n^2)的。
可否在從方法的角度,進一步考慮呢?
大家思考一個問題,最長的鵲橋,是否會包括第一對喜鵲。我們假設,不包括第一對喜鵲。最長的鵲橋為s1,s2…sk。每一個si,可以表示為(xi,yi)。s0,(x0,y0)為第一對喜鵲。我們有y1 < x2, 並且 y0 < y1。y0last y 則保留,否則拋棄,最終留下來的,就是最長的鵲橋。如上面的例子,得到
(2,4) (5,8) (9,20) (30,31) (34,35) (36,37)
長度為6。
後面這個思路,不夠嚴謹,沒有闡述嚴格的證明,但是存在的。留給大家思考吧。
為了美好的愛情,大家都盡力了麼?
【分析完畢】
本文來自微信:待字閨中,2013-08-15釋出,原創@陳利人 ,歡迎大家繼續關注微信公眾賬號“待字閨中”。
相關文章
- 七夕鵲橋;及數字遊戲分析遊戲
- 排列木樁;及模糊距離分析
- 七夕特別篇|用Python繪畫牛郎織女在鵲橋相見Python
- 編輯距離及編輯距離演算法演算法
- 程式猿生存指南-62 鵲橋銀河
- 藍橋杯-移動距離(最簡單的寫法)
- 曼哈頓距離與切比雪夫距離
- JavaScript 元素距離視窗頂部的距離JavaScript
- PostgreSQL遺傳學應用-矩陣相似距離計算(歐式距離,…XX距離)SQL矩陣
- JavaScript獲取元素距離文件頂部的距離JavaScript
- Laravel 距離排序Laravel排序
- unit原子距離
- 【Python】距離Python
- 最小距離分類器,互動式選取影像樣本分類資料,進行最小距離分類(實現歐式距離,馬氏距離,計程距離)
- javascript獲取元素距離網頁頂部的距離JavaScript網頁
- 曼哈頓距離與切比雪夫距離的互化
- 距離度量學習
- 【DP】編輯距離
- Vijos1680距離/openjudge2988計算字串的距離[DP]字串
- 空間距離計算
- milvus 使用 l2 歐式距離計算向量的距離,計算出來的距離的最大值是多少?
- jQuery獲取div距離視窗頂部或者父元素頂部的距離jQuery
- 28、(向量)歐幾里得距離計算
- 洛谷 1279 字串距離字串
- RecyclerView滑動距離計算View
- 計算字串編輯距離字串
- 編輯距離演算法演算法
- 距離-有這麼多類
- 線性dp:編輯距離
- Elasticsearch 7.2 在 Laravel 中實踐 --經緯度及距離查詢ElasticsearchLaravel
- jQuery獲取網頁中的元素距離文件邊緣的距離程式碼例項jQuery網頁
- 【scipy 基礎】--正交距離迴歸
- 動態規劃-編輯距離動態規劃
- RQNOJ 514 字串距離:dp & 字串字串
- eMarketer:定位廣告的距離問題
- 最短編輯距離演算法演算法
- 902.最短編輯距離
- 漢明距離(Hamming distance)