搜狗筆試題

2021-05-28 14:02:29 字數 537 閱讀 4930

乙個長度為n的陣列a[0],a[1],...,a[n-1]。現在更新陣列的名個元素,即a[0]變為a[1]到a[n-1]的積

a[1]變為a[0]和a[2]到a[n-1]的積,...,a[n-1]為a[0]到a[n-2]的積。

程式要求:

要求具有線性複雜度。

不能使用除法運算子。

演算法思想:

設共有n個數(n=7), 建立乙個陣列backtofront,從陣列最後開始分別儲存a[6], a[6]*a[5], a[6]*a[5]*a[4],.......a[6]*a[5]*a[4]*a[3]*a[2]*a[1].

然後再設乙個變數 fronttoback用來儲存,從前到後的乘積.

#include using namespace std;

void print(long a, int len)

void change(long a, int len)

delete backtofront;

}int main()

搜狗筆試題

1 下面 中for迴圈共執行了多少次?unsigned short i,j for i 0,j 2 i j i 5,j 7 unsigned short占用2個位元組,當資料範圍到頭了 2 16 1 就又從0開始計數了,這個其實就是兩輛汽車行駛在乙個圓圈裡的汽車追及問題。乙個速度為5,乙個速度為7,...

搜狗筆試題

搜狗 1,有n n個正方形格仔,每個格仔裡有正數或者0,從最左上角往最右下角走,只能向下和向右走。一共走兩次,把所有經過的格仔的數加起來,求最大值。且兩次如果經過同乙個格仔,則該格仔的數隻加一次。思路 搜尋 一共搜 2n 2 步,每一步有四種走法。考慮不相交等條件可以剪去很多枝。複雜度為o 4 n ...

2012搜狗校園招聘筆試題

include using namespace std int main unsigned char p unsigned char input int s 0 int temp sizeof input for int i 0 ichar v p i if v 0 s v a i printf d...