2012 4 7騰訊實習生筆試題 附加題1

2021-06-05 16:10:22 字數 882 閱讀 5552

1、根據a[n]陣列求b[n],b[i]=a[0]*a[1]*…a[n-1]/a[i];要求空間複雜度是o(1),時間複雜度是o(n),除了a[n],b[n]和迴圈計數器,不使用其他變數,不能使用除法。

//第一種方法

void f(int a,int b,int n)

if(n<=1)

b[0]=1;

//實現b[i]=a[i]*a[i+1]*....*a[n-1]

b[n-1]=a[n-1];

for(int i=n-2;i>=0;i--)

b[i]=a[i]*b[i+1];

//實現a[i]=a[0]*a[1]*....*a[i]

for(int j=1;ja[j]=a[j]*a[j-1];

//實現b[i]=a[0]*a[1]*....*a[i-1]*a[i+1]*.....*a[n-1]

b[0]=b[1];

for(int k=1;kb[k]=a[k-1]*b[k+1];

b[n-1]=a[n-2];

//第二種方法

void f1(int a,int b,int n)

if(n<=1)

b[0]=1;

//實現b[i]=a[0]*a[1]*....*a[i-1]

b[0]=1;

for(int i=1;ib[i]=b[i-1]*a[i-1];

//實現a[i]=a[i]*a[i+1]*....*a[n-1]

for(int j=n-2;j>=0;j--)

a[j]=a[j]*a[j+1];

//實現b[i]=a[0]*a[1]*....*a[i-1]*a[i+1]*.....*a[n-1]

for(int k=0;kb[k]=b[k]*a[k+1];

騰訊實習生筆試題

一 單項選擇題 1 給定3個int型別的正整數x,y,z,對如下4組表示式判斷正確的選項 int a1 x y z int b1 x y z int a2 x z y int b2 x z y int c1 x z int d1 x y z int c2 x z a a1一定等於a2 b b1一定定...

2012騰訊實習生筆試題

問題描述 兩個陣列a n b n 其中a n 的各個元素值已知,現給b i 賦值,b i a 0 a 1 a 2 a n 1 a i 要求 1.不准用除法運算2.除了迴圈計數值,a n b n 外,不准再用其他任何變數 包括區域性變數,全域性變數等 3.滿足時間複雜度o n 空間複雜度o 1 分析 ...

騰訊實習生筆試題20160305

include include void fun int main 程式執行結果為 2 3 說明在第二次呼叫fun 函式時,a的值為2,並且沒有進行初始化賦值,直接進行自增運算,所以得到的結果為3.對於靜態區域性變數如果沒有進行初始化的話,對於整形變數系統會自動對其賦值為0,對於字元陣列,會自動賦值...