摘要:
刚进博客园就在《一道面试附加题的另类求解》看到一道有趣的题,正好,偶对这题也有一些想法,因此写来分享下。题目如下:先来看第一个条件,不可用除法。要满足这个条件倒是很简单:令forward[i] = a[0] * a[1] *... * a[i]; backward[i] = a[i] * a[i+1] *...* a[N];那么b[i] = forward[i-1] * backward[i+1];在此基础上,我们再来看一下第2个条件,时间复杂度为0(N),空间复杂度为O(1)。先将forward和backward数组的值算出,然后才算b数组的值虽然可以满足时间的要求,但空间要求却满足不了。因 阅读全文