- 相關推薦
Tencent筆試題
選擇題(60)
c/c++ os linux 方面的基礎知識,c的Sizeof函數有好幾個!
程序填空(40)
1.(20) 4空x5
不使用額外空間,將 A,B兩鏈表的元素交叉歸并
2.(20) 4空x5
MFC 將樹序列化 轉存在數組或 鏈表中!
1.請定義一個宏,比較兩個數a、b的大小,不能使用大于、小于、if語句
// 這樣轉向定義應該不算違規吧!^_^
#include "stdafx.h"
#include <string.h>
#include <iostream>
using namespace std;
#define Cmp(x,y) compare(x,y)
int compare(int a,int b)
{
a^=(1<<31); b^=(1<<31);
int i=31;
while((i^-1) && !((a&(1<<i))^(b&(1<<i)))) i--;
return (i^-1)?(((a>>i)&1)?1:-1):0;
}
int _tmain()
{
int c;
c = Cmp(5,4);
cout<<c<<endl;
return 0;
}
2.如何輸出源文件的標題和目前執行行的行數(不曉得怎么搞,在等兄弟給我答案在!)
3.兩個數相乘,小數點后位數沒有限制,請寫一個高精度算法
算法提示:
//想法來自北師大一個同學給我看的另一個題目以及他的java程序,
Tencent筆試題
,資料共享平臺
《Tencent筆試題》(http://salifelink.com)。輸入 string a, string b; 計算string c=a*b; 返回 c;
1)紀錄小數點在a,b中的位置l1,l2, 則需要小數點后移動位置數為l=length(a)+length(b)-l1-l2-2;
2)去掉a,b中的小數點,(a,b小數點后移,使a,b變為整數)
3)計算c=a*b; (要么用java的BigInterger搞, 要么自己用C++寫高精度數乘法,超過百萬位,用FFT,我就不細說,這都預先寫過就別做了)
4)輸出c,(注意在輸出倒數第l個數時,輸出一個小數點。若是輸出的數少于l個,就補0)
4.寫一個病毒(沒搞過,^_^)
5.讓你在100000000個浮點數中找出最大的10000個,要求時間復雜度優。
//本算法使用快排,O(n*lg(n))
//最低可以找到線性算法,使用預先區域統計劃分!類試于構造Quad Trees! 寫起來代碼會長些
【Tencent筆試題】相關文章:
360筆試題目06-27
筆美國國家儀器試題目09-23
搜狐產品筆歸分享筆試題目07-05
新浪筆經04-27
新聞總署筆經10-13
IBM公司筆經09-15
營銷卷筆經10-25
consulting firm筆經05-06
科勒筆經09-23
愛立信機考筆經07-23