試題(二)

來源:互聯網
上載者:User

 

題目是引用的【http://topic.csdn.net/u/20101021/14/7fdbcd52-3ee6-42ce-b48e-8fb56c4418da.html?78938】

雅虎:

1.對於一個整數矩陣,存在一種運算,對矩陣中任意元素加一時,需要其相鄰(上下左右)某一個元素也加一,現給出一正數矩陣,判斷其是否能夠由一個全零矩陣經過上述運算得到。

 

2.一個整數數組,長度為n,將其分為m份,使各份的和相等,求m的最大值

  比如{3,2,4,3,6} 可以分成{3,2,4,3,6} m=1;  

  {3,6}{2,4,3} m=2

  {3,3}{2,4}{6} m=3 所以m的最大值為3

 

搜狐:

 

3.四對括弧可以有多少種匹配相片順序?比如兩對括弧可以有兩種:()()和(())

 

創新工場:

 

4.求一個數組的最長遞減子序列 比如{9,4,3,2,5,4,3,2}的最長遞減子序列為{9,5,4,3,2}

 

微軟:

5.一個數組是由一個遞減數列左移若干位形成的,比如{4,3,2,1,6,5}是由{6,5,4,3,2,1}左移兩位形成的,在這種數組中尋找某一個數。

 

 

 

我的想法:

1. 暫無

 

2. poj 1011,搜尋+強剪枝

 

3. Catalon?沒驗證,但是DP可以:

dp[i][j]表示從i->j位置的這些括弧的最大組成種數,

dp[i][j] = dp[i-1][j-1] //i是(,j是),並且他們搭配

              + sigama(dp[i][k] * dp[k+1][j]),  i與k搭配,k+1與j搭配,   i<k<j枚舉

初始條件:dp[i][i+1] = 1 (長度為2隻能是"()"),

dp[i][i] = 0 (長度為1不能搭配)

 

4. 不是普通的DP題麼,不知道為啥現在還考:

dp[i]表示到達i是的最長下降子序列的長度

dp[i] = max(dp[j]) + 1, j<i, 且a[j]>a[i]

 

5. 一種分情況的二分:

首先觀察這個序列,先下降,然後突然上升(暫且叫斷點吧),接著又下降,而且有個性質

(*)斷點前面的所有數都比斷點後面的所有數小!

令當前二分的區間是[l,h],那麼這個區間有3中可能性:

(1)落在斷點前的那個下降區間裡面;

(2)落在斷點後的那個下降區間裡面;

(3)跨區間。

我們看怎麼判斷當前落在哪個區間裡,另a是原來的數組

    如果a[l] > a[h],由性質(*)得到不可能是跨區間的(否則因為l在斷點前的區間,h在斷點後的區間,那麼肯定有a[l]<a[h]),那麼只可能是(1)或者(2),這樣這個區間就是普通的下降區間,用常規的二分在這個區間裡找數。

    如果a[l] < a[h], 那麼肯定是跨區間的,考慮中間值a[(l+h)/2],如果這個中間值>a[l],那麼根據性質(*)中間值在斷點後,否則就在斷點之前。如果中間值是斷點之後,那麼[(l+h)/2, h]形成一個下降區間,看我們找的value是不是落在這裡面,如果是下一部搜尋區間就是[(l+h)/2, h],不然就是[l, (l+h)/2]。如果中間值是斷點之前,那麼[l, (l+h)/2]形成一個下降區間,value如果落在裡面,下一步搜尋區間就是[l, (l+h)/2],不然就是[(l+h)/2, h]。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.