1. 程式人生 > 其它 >美團校招演算法題(1)-2021.10.10

美團校招演算法題(1)-2021.10.10

記錄一下最近讀者反饋回來的美團的校招演算法題,兩個小時內完成四道中等、困難難度夾雜的演算法題還是不太容易的,校招的同學要好好努力了。多刷點牛客網和leetcode的演算法題,同時也要保證對演算法底層的原理了解清楚,B站上一些演算法底層的講解視訊也是可以好好看看的,大家有什麼難題可以問我喲。關注公眾號:碼蟻日記 給我留言,可免費贈送一些學習資料還有大廠免費內推哦。有時間的就順手做了,沒時間的就沒做,歡迎大家交流!

T1 小美的健身操

題目描述:

小美開始學習健身操。我們可以將一套健身操簡化為兩個動作(記為動作0,動作1)和中途休息(即不做任何動作)的組合。

如果小美在健身操要求做某個動作時做出錯誤的動作,或者說在應該中途休息時做了某個動作,則被稱為“錯誤操作”(應該做某個動作而沒有做某個動作不算“錯誤操作”)。如果一段連續的錯誤操作的持續時間小於閾值K,則被稱為“小錯誤”。

例如,要求的動作為:1~3時刻動作0,小美的實際動作為:0~4時刻動作0,閾值為2,則小美有兩次“小錯誤”,分別在0-1時刻和3-4時刻。

再例如,要求的動作為:1-3時刻動作0,小美的實際動作為:2-4時刻動作1,閾值為2。雖然2-3和3-4都是“錯誤操作”,但是它們時連續的,所以只算一段錯誤操作,時間等於2,達到閾值,因此小美沒有“小錯誤”。

給出健身操要求的動作以及小美的實際動作,求小美有多少次“小錯誤”。

輸入描述:

  第一行三個正整數n,m,k(1<= n, m<=200, 1<=k<=10^6),分別表示健身操的動作數量,小美的實際動作數量,閾值。

  接下來n行,每行三個正整數l,r,v,表示健身操的動作為,l-r時刻,動作v。保證按時間升序給出指令,各個動作的時間段沒有重疊的部分。

  接下來m行,每行三個正整數l,r,v,表示小美的實際動作作為,l-r時刻,動作v。保證按時間升序給出指令,各個動作的時間段沒有重疊的部分。

  0<=l<=r<=10^6

輸出描述:

  今一行,一個整數,小美的“小錯誤”的次數

提示

  小錯誤分別在0-1,2-3,5-6,7-8;根據題意,應該做某個動作而沒有做某個動作不算“錯誤操作”故9-10不在錯誤的定義內