2009.9.12日下午 迅雷2筆試題
一
有一副牌編號(hào)0~51,請(qǐng)把這副牌盡可能隨機(jī)的發(fā)到4個(gè)人手里
注1:已經(jīng)有rand()函數(shù)可以調(diào)用,但是rand()函數(shù)開銷較大,請(qǐng)盡量少調(diào)用
a,b,c,d分別是13個(gè)元素的1維數(shù)組
函數(shù)原型 void deal( int[] a, int[] b, int[] c, int[] d );
二
實(shí)現(xiàn)字符串反轉(zhuǎn)的c庫函數(shù) char* strrev(char* string)
注1:不可利用其他庫函數(shù),算法盡量高效、占用空間少。
三
有10億個(gè)數(shù),這些數(shù)的值都在0~1000萬之內(nèi)。實(shí)現(xiàn)接口 get_bigger_count( unsigned value )
輸入一個(gè)值value,返回這10億個(gè)數(shù)中比value值大的數(shù)的數(shù)目。
class order_calculate
{
public:
order_calculate();
~order_calculate();
unsinged get_bigger_count( unsigned value )
}
注1:get_bigger_count接口會(huì)被頻繁的調(diào)用,實(shí)現(xiàn)要高效
注2:可以自己往內(nèi)部任意添加變量和接口
注3:有個(gè)現(xiàn)成的接口 unsigned get_value_by_index( int idx ) 可以調(diào)用,該接口返回指定索引的value值
比如 get_value_by_index( 100 ), 返回10億個(gè)數(shù)中第100個(gè)數(shù)的值。該接口開銷較大,盡量少調(diào)用。
http://topic.csdn.net/u/20090912/20/8c60e06e-321c-49a6-b2cc-59248ba9cf36.html?28642