位元組跳動 特徵提取

2021-10-03 19:01:49 字數 1198 閱讀 3296

[程式設計題]特徵提取

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 32m,其他語言64m

因此,如果喵咪特徵連續一致,可以認為喵咪在運動。也就是說,如果特徵在持續幀裡出現,那麼它將構成特徵運動。比如,特徵在第2/3/4/7/8幀出現,那麼該特徵將形成兩個特徵運動2-3-4 和7-8。

現在,給定每一幀的特徵,特徵的數量可能不一樣。小明期望能找到最長的特徵運動。

輸入描述:

第一行包含乙個正整數n,代表測試用例的個數。

接下來的m行,每行代表一幀。其中,第乙個數字是該幀的特徵個數,接下來的數字是在特徵的取值;比如樣例輸入第三行裡,2代表該幀有兩個貓咪特徵,<1,1>和<2,2>

所有用例的輸入特徵總數和<100000

n滿足1≤n≤100000,m滿足1≤m≤10000,一幀的特徵個數滿足 ≤ 10000。

特徵取值均為非負整數。

輸出描述:

對每乙個測試用例,輸出特徵運動的長度作為一行

輸入例子1:18

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

輸出例子1:

3例子說明1:

特徵<1,1>在連續的幀中連續出現3次,相比其他特徵連續出現的次數大,所以輸出3

:借鑑本來用結構體寫的,但是需要再做運算子過載比較麻煩。

將特徵(x,y)看做乙個整體,要維護兩個變數,乙個是該特徵上一次出現的位置,另乙個是該特徵現在的最大程度。

如果當前特徵在上一幀也出現了,那也該特徵的長度就要加1,

否則說明特徵不連續,則要重新開始計算長度。

記得每一維護,要儲存最大值

#include

#include

using namespace std;

typedef pair<

int,

int>

node;

intmain()

else

if(lastindex[n]

maxlength=

max(maxlength,length[n]);

lastindex[n]

=j;}

} cout<}return0;

}

演算法不能丟,繼續刷題。

位元組跳動校招筆試題特徵提取

小明是一名演算法工程師,同時也是一名鏟屎官。乙個貓咪特徵是乙個兩維的 vectorc x,y 如果x1 x2x1 x2並且y1 y2y1 y2,那麼這倆是同乙個特徵。因此,如果貓咪特徵連續一致,可以認為貓咪在運動。也就是說,如果特徵 a,b 在持續幀裡出現,那麼它將構成特徵運動。比如,特徵 a,b ...

程式設計題 特徵提取 位元組跳動 Golang

輸入描述 輸出描述 對每乙個測試用例,輸出特徵運動的長度作為一行 示例1 輸入18 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 備註 如沒有長度...

特徵工程 特徵提取

特徵提取 將任意資料 如文字或影象 轉換為可用於機器學習的數字特徵 注 特徵值化是為了計算機更好的去理解資料 字典特徵提取 作用 對字典資料進行特徵值化 dictvectorizer.get feature names 返回類別名稱 from sklearn.feature extraction i...