小明是一名演算法工程師, 同時也是一名鏟屎官。
乙個貓咪特徵是乙個兩維的 vectorc< x, y >。
如果x1=x2x1=x2並且y1=y2y1=y2, 那麼這倆是同乙個特徵。
因此,如果貓咪特徵連續一致,可以認為貓咪在運動。
也就是說,如果特徵< a, b >在持續幀裡出現,那麼它將構成特徵運動。
比如,特徵< a, b >在第2/3/4/7/8幀出現,那麼該特徵將形成兩個特徵運動2-3-4和7-8。
現在,給定每一幀的特徵,特徵的數量可能不一樣。
小明期望能找到最長的特徵運動。
輸入格式
接下來的m行,每行代表一幀,其中,第乙個數字是該幀的特徵個數,接下來的數字是在特徵的取值;比如樣例輸入第三行裡,2代表該幀有兩個貓咪特徵,<1, 1>和<2, 2>。
輸出格式
輸出特徵運動的長度作為一行。
資料範圍
1≤m≤100001≤m≤10000
輸入特徵總數和不超過100000。
一幀的特徵個數不超過10000。
特徵取值均為非負整數。
輸入樣例:
8
2 1 1 2 2
2 1 1 1 4
2 1 1 2 2
2 2 2 1 400
1 1 1
1 1 1
輸出樣例:
3
樣例解釋
特徵<1,1>在連續的幀中連續出現3次,相比其他特徵連續出現的次數大,所以輸出3。
這個題目比較有技巧,首先用pair記錄這個特徵點.如果不使用map的方法,直接暴力搜尋,時間複雜度非常高。這裡使用兩個map分別記錄對應的上一次出現的層數,以及連續出現的長度。不能直接用hash表的原因是無法從pair直接map到int
#include #include #include using namespace std;
typedef pairpii;
int main()
else if (lastindex[t] < i - 1)
length[t] = 1;
lastindex[t] = i;
res = max(res, length[t]);
} }cout << res << endl;
}
位元組跳動 特徵提取
程式設計題 特徵提取 時間限制 c c 1秒,其他語言2秒 空間限制 c c 32m,其他語言64m 因此,如果喵咪特徵連續一致,可以認為喵咪在運動。也就是說,如果特徵在持續幀裡出現,那麼它將構成特徵運動。比如,特徵在第2 3 4 7 8幀出現,那麼該特徵將形成兩個特徵運動2 3 4 和7 8。現在...
位元組跳動2019屆校招筆試題
1.世界盃開幕式會在球場c舉行,球場c的球迷看台可以容納m n個球迷。在球場售票完成後,現官方想統計此次開幕式一共有多少個球隊球迷群體,最大的球隊球迷群體有多少人。經調研發現,球迷群體在選座時有以下特性 同球隊的球迷群體會選擇相鄰座位,不同球隊的球迷群體會選擇不相鄰的座位 註解 相鄰包括前後相鄰,左...
位元組跳動2019校招前端筆試
題目描述 開心消消樂 給定乙個一維的正整數陣列,逐次選擇其中乙個數做消除,消除所獲得的分數為當前數字和左右相鄰數字的乘積 當左邊或者右邊沒有數字可以認為是1 e.g.輸入陣列 3,1,5,8 step1 消除1 獲得分數 15 3x1x5,陣列變為 3,5,8 step2 消除5,獲得分數 120 ...