網上看到一道搜狗筆試題,今天下午實現了一下

2021-08-31 19:35:07 字數 519 閱讀 3927

乙個長度為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]的積。

程式要求:

要求具有線性複雜度。

不能使用除法運算子。

思路是思想跟這個一樣,用兩個陣列b,c

b[i] = a[0] *... * a[i - 1]

c[i] = a[i + 1] *...*a[n]時間複雜度為o(2n)

最後a[i] = b[i]*c[i],我在這裡沒用c陣列

少用c【i】陣列的話,程式寫起來就不是太好理解,其實是乙個道理

public class countmutiply ; int n=a.length; int b=new int[n]; b[0]=a[0]; for(int i=1;i=0;i--) if(i==0) a[0]=b[1]; } //輸出最後的a元素 for(int i=0;i

一道筆試題

看到一道筆試題,跟自己想的有點出入,就跑了下,看了看原因。我稍微改了下 include int main int argc,char argv 輸出結果 c 5 d 245 press any key to continue vc6.0 debug下的彙編 5 unsigned char a 0xa...

一道筆試題

上次去筆試的時候,有一道題,怎麼也沒做出來,當時也是很緊張,有些思路,但卻沒有做出來。有四個人要過乙個獨木橋,因為天比較黑,而且橋只能允許兩個人同時通過,並且他們只有乙個手電筒。四個人單獨同時橋的時間是1,2,5,8分鐘。問最短的時間是多少?當時我的答案 1和8,1回來,1 5,1回來,1 2 8 ...

一道筆試題

題目是這樣的 判斷乙個小於1000的正整數是否為素數。素數的定義就不說了,以下直接分析解法,畢竟是在寫與專業相關的東西,是給本專業的人看得,所以看的人應該有點基礎吧?求素數的問題是乙個數學上的難題,這是常識,但是本題目限制了最大範圍是在1000以內,所以就可以嘗試找出乙個足夠好的解了。首先給出乙個最...