1. 程式人生 > >2017今日頭條實習測試

2017今日頭條實習測試

題目一、

兩陣列找相同的元素-array
時間限制:C/C++語言 1000MS;其他語言 3000MS
記憶體限制:C/C++語言 65536KB;其他語言 589824KB
題目描述:
給兩個整數(int)陣列,輸出相同的元素。
輸入
給定兩個整型陣列[a1, a2, ...., am],[b1, b2, ..., bn]
輸入格式如下,第一行給定第一個陣列的大小m,接下來的m行為其陣列元素a1 -- am,每行一個元素;
第m+1行為第二個陣列的大小n,接下來的n行為其陣列元素b1 -- bn,也是每行一個元素。示例如下:
m
a1
a2

am
n
b1
b2

bn
?
輸出
兩個陣列中相同的元素,以空格分隔在一行中顯示,顯示順序為其在第二個陣列中出現的順序。

樣例輸入
5
11
15
9
12
3
4
11
3
9
7

樣例輸出
11 3 9

#include <iostream> 
#include <algorithm> 
#include <vector>
int main()
{
	int m, n;
	int i, j;
	cin >> m;
	//int *a = new int[m];
	vector<int> a;
	int temp;
	for(i=0; i<m; ++i)
	{
		//cin >> a[i];
		cin >> temp;
		a.push_back(temp);
	}
	cin >> n;
	//int *b = new int[n];
	vector<int> b;
	for(i=0; i<n; ++i)
	{
		//cin >> b[i];
		cin >> temp;
		b.push_back(temp);
	}
	
	for(j=0; j<n; ++j)
	{
		for(i=0; i<m; ++i)
		{
			if(b[j]==a[i])
			{
				cout<<b[j]<<' ';
				break;
			}
		}
	}
	cout << endl;

	/*
	for(i=0; i<m; ++i)
		cout << a[i];
	cout << endl;
	for(i=0; i<n; ++i)
		cout << b[i];
	cout << endl;
	*/
	return 0;
}

通過率90%,有時間再調調。。。

-----------------------------------------------------------------------------------

題目二、

DAU 統計
時間限制:C/C++語言 2000MS;其他語言 4000MS
記憶體限制:C/C++語言 32768KB;其他語言 557056KB
題目描述:
日活躍使用者數 (DAU) 是衡量一個產品表現的重要指標。
需要編寫程式,根據給定的某一天的 N 條訪問記錄,對當天的使用者總數 M 進行統計。
每個使用者可能訪問多次。
為了方便,我們用數字 (uid) 唯一標識每個使用者。
輸入
每一行包含一個 uid,遇到 0 時認為輸入結束。
輸入共包含 N+1 行,可認為是無序的。
輸出
一個數字:去重後 uid 的數量 M。

樣例輸入
12933
111111
59220
69433
59220
111111
0
樣例輸出
4

Hint
資料範圍
0 < uid < 2^63
對於 30% 的資料,0 < N < 100,000, 0 < M < 100,000
對於 100% 的資料,0 < N < 1,000,000, 0 < M < 800,000

#include <iostream> 
#include <algorithm> 
#include <vector>

using namespace std;

int main()
{
	vector<long> a;
	long temp;
	while(1)
	{
		cin >> temp;
		if(temp == 0)
			break;
		a.push_back(temp);
	}
	sort(a.begin(),a.end());
	a.erase(unique(a.begin(), a.end()), a.end());
	cout << a.size() << endl;
	return 0;
}

通過率100%,不過用set更簡單,待測。。。

------------------------------------------------------------------------------------

題目三、(麻煩 的一道題)

#include <iostream> 
#include <algorithm> 
#include <vector>

using namespace std;

int main()
{
	char Num[10][5][3]={{{'*','*','*'},{'*',' ','*'},{'*',' ','*'},{'*',' ','*'},{'*','*','*'}},
						{{' ','*',' '},{' ','*',' '},{' ','*',' '},{' ','*',' '},{' ','*',' '}},
						{{'*','*','*'},{' ',' ','*'},{'*','*','*'},{'*',' ',' '},{'*','*','*'}},
						{{'*','*','*'},{' ',' ','*'},{'*','*','*'},{' ',' ','*'},{'*','*','*'}},
						{{'*',' ','*'},{'*',' ','*'},{'*','*','*'},{' ',' ','*'},{' ',' ','*'}},
						{{'*','*','*'},{'*',' ',' '},{'*','*','*'},{' ',' ','*'},{'*','*','*'}},
						{{'*','*','*'},{'*',' ',' '},{'*','*','*'},{'*',' ','*'},{'*','*','*'}},
						{{'*','*','*'},{' ',' ','*'},{' ',' ','*'},{' ',' ','*'},{' ',' ','*'}},
						{{'*','*','*'},{'*',' ','*'},{'*','*','*'},{'*',' ','*'},{'*','*','*'}},
						{{'*','*','*'},{'*',' ','*'},{'*','*','*'},{' ',' ','*'},{'*','*','*'}}};

	char Fh[6][5][3]=	{{{' ',' ',' '},{' ','*',' '},{'*','*','*'},{' ','*',' '},{' ',' ',' '}},
						{{' ',' ',' '},{' ',' ',' '},{'*','*','*'},{' ',' ',' '},{' ',' ',' '}},
						{{' ',' ',' '},{'*',' ','*'},{' ','*',' '},{'*',' ','*'},{' ',' ',' '}},
						{{' ',' ',' '},{' ',' ','*'},{' ','*',' '},{'*',' ',' '},{' ',' ',' '}},
						{{' ',' ',' '},{'*','*','*'},{' ',' ',' '},{'*','*','*'},{' ',' ',' '}},
						{{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ','*','*'},{' ','*','*'}}};
	
	char result[5][70];
	int i, j, k;
	int a, b, c;
	char d, e;
	int fh;
	cin >> a >> d >> b ;
	//cout << a << d << b <<endl;

	switch(d){
	case '+':
		{
			fh = 0; 
			c = a + b;
			break;
		}
	case '-': 
		{
			fh = 1; 
			c = a - b;
			break;
		}
	case '*': 
		{
			fh = 2; 
			c = a * b;
			break;
		}
	case '/': 
			{
			fh = 3; 
			c = float(a / b);
			break;
		}
	}
	//cout << c << endl;
	//cout << fh << endl;


	for(i=0; i<5; ++i)
	{
		j=0;
		int num;
		for(num=0; num<3; ++num)//a
		{
			result[i][j]=Num[a][i][num];
			j++;
		}
		result[i][j++]=' ';
		result[i][j++]=' ';
		for(num=0; num<3; ++num)//+
		{
			result[i][j]=Fh[fh][i][num];
			j++;
		}
		result[i][j++]=' ';
		result[i][j++]=' ';
		for(num=0; num<3; ++num)//b
		{
			result[i][j]=Num[b][i][num];
			j++;
		}
		result[i][j++]=' ';
		result[i][j++]=' ';
		for(num=0; num<3; ++num)//=
		{
			result[i][j]=Fh[4][i][num];
			j++;
		}
		result[i][j++]=' ';
		result[i][j++]=' ';
		for(num=0; num<3; ++num)//c
		{
			result[i][j]=Num[c][i][num];
			j++;
		}
		result[i][j]='\0';
	}

	for(i=0; i<5;++i)
	{
		printf("%s\n", result[i]);
	}

/*
	for(i=0; i<=9; ++i)
	{
		for(j=0; j<5; ++j)
		{
			for(k=0; k<3; ++k)
			{
				cout << Num[i][j][k] ;
			}
			cout << endl;
		}
	}
	for(i=0; i<6; ++i)
	{
		for(j=0; j<5; ++j)
		{
			for(k=0; k<3; ++k)
			{
				//cout << *(*(*(p+i)+j)+k);
				cout << Fh[i][j][k] ;
			}
			cout << endl;
		}
	}

*/


	return 0;
}

只實現了 個位 與 個位的運算,待完善,最近實驗室比較忙,沒空刷題。。。

相關推薦

2017今日頭條實習測試

題目一、 兩陣列找相同的元素-array 時間限制:C/C++語言 1000MS;其他語言 3000MS 記憶體限制:C/C++語言 65536KB;其他語言 589824KB 題目描述: 給兩個整數(int)陣列,輸出相同的元素。 輸入 給定兩個整型陣列[a1, a2,

2017 今日頭條編程題匯總:

好的 ^c class through all orm ray state 取值 頭條的2017校招開始了!為了這次校招,我們組織了一個規模宏大的出題團隊,每個出題人都出了一些有趣的題目,而我們現在想把這些題目組合成若幹場考試出來,在選題之前,我們對題目進行了盲審,並定出了

今日頭條實習面經--20180509

最近好好看了一段時間書,投了一下今日頭條實習生散招,個人感覺散招比校招要簡單得多。下午大約2點開始,歷經一面,二面,三面好像有事,結果兩面之後讓我回來了。分享一下自己的經歷吧,一二面混在一起了。 今日頭條 1.      兩個連結串列相

今日頭條實習面試

一個 har 2個 倒數 python 什麽 隊列 存儲類型 varchar python GIL 給你a, b, c, d, e 5個網站,讓你爬 網站基本一樣,程序現成的,程序:run.py 只能處理一個網站的抓取工作 原來的url = a 要求性能較好 過

2017今日頭條校招前端面試題(一面)

演算法能力如何? 給一個數組如:[[“a”,”b”,”c”],[“d”,”e”],…..]得到[ad,ae,bd,be,cd,ce],手寫實現的方法?(要求js實現) 如何將上面的改成函數語言程式設計風格? 如果陣列中出現[[“a”,”b”,”c”],[“a”,”d”]]要求去掉”aa”這種情況(即兩組所取

今日頭條實習面試總結

1、實現陣列扁平化 陣列扁平化是指將一個多維陣列變為一維陣列 [1, [2, 3, [4, 5]]] ------> [1, 2, 3, 4, 5] (1)toString & split或者jion & split 呼叫陣列的toStr

2017今日頭條前端實習生筆試題

1.下面標籤巢狀正確的是: A. <ul><p>今日頭條</p></ul> B. <a href="#"><a href="#">今日頭條</a></a> C.

2017今日頭條網招線上程式設計題(部分)

第一題 P 為 給 定 的 二 維 平 面 整 數 點 集 。 定 義 P 中 某 點 如 果 × 滿 足 P 中 任 意 點 都 不 在 × 的 右 上 方 區 域 內 ( 橫 縱 座標 都 大 於 × ) , 則 稱 其 為 “ 最 大 的 ” 。 求 出

2017今日頭條頭條校招(JAVA)

題目描述頭條的2017校招開始了!為了這次校招,我們組織了一個規模巨集大的出題團隊,每個出題人都出了一些有趣的題目,而我們現在想把這些題目組合成若干場考試出來,在選題之前,我們對題目進行了盲審,並定出了每道題的難度系統。一場考試包含3道開放性題目,假設他們的難度從小到大分別為

[筆試練習]今日頭條實習筆試

我天,第一題做了好久還是85%的通過率。。改日再戰。。 #include <iostream> #include <string> #include <vector> #include <map> #include <u

今日頭條2017後端工程師實習生筆試題 - 題解

進制 true 字符串 從右到左 試題 imp 最終 create head 今日頭條2017後端工程師實習生筆試題 最大映射 題意 給n(不超過50)個字符串,每個字符串(長度不超過12)由A-J的大寫字符組成。要求將每個字符映射為0-9,使得每個字符串可以看作一個整數(

頭條校招(今日頭條2017秋招真題)1——python解法

題目描述 頭條的2017校招開始了!為了這次校招,我們組織了一個規模巨集大的出題團隊。每個出題人都出了一些有趣的題目,而我們現在想把這些題目組合成若干場考試出來。在選題之前,我們對題目進行了盲審,並定出了每道題的難度係數。一場考試包含3道開放性題目,假設他們的難度從小到大分別為a, b, c,我

【演算法】今日頭條2017程式設計題

解法一: 思路: 第一步先 排序。這個大家都能想到。 第二步,三個為一組。首先看前三個 a1,a2,a3. FIRST 如果a2-a1<=10&&a3-a2<=10 則符合要求,就從第4個開始,a4,a5,a6為一

2017滴滴出行實習面試總結(測試崗,拿到offer)

fork:通過寫時拷貝機制建立子程序,子程序通過拷貝父程序的頁表與父程序共享相同的實體記憶體(被標記為只讀),當其中一方試圖修改實體記憶體上的資料時發生中斷,核心拷貝被修改頁並修改子程序的頁表使其指向新拷貝的一頁,之後對該頁上的資料進行修改不再產生中斷。因此可以理解成父程序和子程序擁有獨立的地址空間而相互不干

2018今日頭條秋招 筆試 (2017/09/10)

20170910 頭條筆試 演算法崗 【改錯題】 //首先要把握下面幾個要點: //right=n-1 => while(left <= right) => right=middle-1; //right=n =>

今日頭條2017計算機實習生c++第一道題

1、記不清楚了,大體意思就是給一個數組大小n,然後給n個數,組成一個離散序列,就是求極大值所在的族大區間,將這個最大區間的左側和右側座標x值輸出。 例如: 輸入: n n長度的整數陣列 輸出: 區間的範圍 樣例: 10  1 3 1 2 5 4 3 1 9 10 樣例輸出:

2017網易遊戲測試工程師-實習招聘線上筆試題

網易遊戲測試工程師 (一). A遊戲又要開新服了,為了在短時間內衝排名,你得儘可能多地完成遊戲任務。通過事先查攻略我們知道了所有的遊戲任務,以及每個任務的時間視窗。一旦選定了做某個任務,在所選定任務的整個持續時間內只能做這個任務,且只能等到當前任務完成才能開展

今日頭條C++後臺開發實習面試總結

一. 旋轉陣列中尋找某個target,leetcode原題。 二. 一個數組建立堆。 堆排序中,最初的步驟就是建立一個堆。之前在一些公司的筆試題上面見到一些與建堆過程相關的題目,因為當時對建堆過程有個誤解,所以經常選錯。之前一直以為是在完全二叉樹中依次插入序列中的元素,

今日頭條2017校招筆試題

問題描述: 頭條的2017校招開始了!為了這次校招,我們組織了一個規模巨集大的出題團隊,每個出題人都出了一些有趣的題目,而我們現在想把這些題目組合成若干場考試出來,在選題之前,我們對題目進行了盲審,並定出了每道題的難度系統。一場考試包含3道開放性題目,假設他們

今日頭條2017內推】排程問題

解題思路 首先對所有的任務按照 提出時間,優先順序,所需時間進行排序,即提出時間相等時按照優先順序排序,優先順序也相等時按照所需時間進行排序。 可以維護一個長度為M的堆,M為程式設計師員的數量,這個堆中儲存的值是程式設計師完成某個任務的完成時間點,依次取