首页| 新闻| 娱乐| 游戏| 科普| 文学| 编程| 系统| 数据库| 建站| 学院| 产品| 网管| 维修| 办公| 热点
给定一个数组a[],对于其中的每一个元素x,求数组中所有数相乘并除以该元素x的结果。并且不能使用除法。
O(n)时间和O(n)空间。
我们维护一个l[i]和r[i]数组,分别代表从左往右乘到元素ai的积和从右往左乘到元素ai的积。
那么,对于我们要求的结果ansi=li−1⋅ri+1。
O(n)时间和O(1)空间。
我们需要想办法去优化一下空间,其实从我们上面的式子ansi=li−1⋅ri+1就可以发现:我们的li是可以从左向右递推得到的,我们的ri也可以从右向左递推得到,并且在递推过程中,我们的l和r其实不用用数组保存。
那么我们只需要从左往右遍历一遍得到ansi=li−1,然后再从右往左遍历一遍得到ansi=ansi∗ri+1即可。
索泰发布一款GTX 1070 Mini迷
AMD新旗舰显卡轻松干翻NVIDIA
索泰发布一款GTX 1070 Mini迷你版本:小机
芭蕾舞蹈表演,真实美到极致
下午茶时间,悠然自得的休憩
充斥这繁华奢靡气息的城市迪拜风景图片
从山间到田野再到大海美丽的自然风景图片
肉食主义者的最爱美食烤肉图片
夏日甜心草莓美食图片
人逢知己千杯少,喝酒搞笑图集
搞笑试卷,学生恶搞答题
新闻热点
疑难解答
图片精选
Dictionary数据类型在Darwin视频服
可穿戴手势识别控制器
网友关注