博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
238. Product of Array Except Self
阅读量:7001 次
发布时间:2019-06-27

本文共 1039 字,大约阅读时间需要 3 分钟。

题目要求不能用除法,只能老老实实乘。

记 left[i] 为从左乘到 a[i-1],right[i] 为从右乘到 a[i+1],则 res[i] = left[i]*right[i] 。

由于 left[i] 和 right[i] 都只依赖前一个状态,因此可以用一个变量来代替数组。

这道题给人一种强烈的DP的感觉。实际上,遍历数组求和也能看做是DP的简化,把这道题当做DP来看也没问题的,只不过太简单了,tag里都没有DP。

class Solution {public:    vector
productExceptSelf(vector
& nums) { // left[i]*right[i] int n=nums.size(); vector
left(n,1), right(n,1); for (int i=1;i
=0;--i) right[i] = right[i+1]*nums[i+1]; vector
res(n); for (int i=0;i

 

class Solution {public:    vector
productExceptSelf(vector
& nums) { // left[i]*right[i] int n=nums.size(); int left=1, right=1; vector
res(n,1); for (int i=1;i
=0;--i){ right *= nums[i+1]; res[i] *= right; } return res; }};

 

转载于:https://www.cnblogs.com/hankunyan/p/9144708.html

你可能感兴趣的文章
开源项目学习方法
查看>>
block的使用
查看>>
使用Toolbar自定义布局的时候左边右边总有一点空间无法使用
查看>>
Photoshop 常用快捷键
查看>>
外观模式
查看>>
Extjs 4 grid修改某一行style
查看>>
background-position设置无效问题解决
查看>>
对称加密算法-DES
查看>>
Android BroadcastReceiver
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
jar包版本冲突问题
查看>>
物联网世界常见传输方式简介(思维导图)
查看>>
KSM导致的警告“ ksmtuned .... read-only system ” 的一些说明
查看>>
Objective C中数组排序的三种方法
查看>>
dedecms验证自定义表单不为空
查看>>
用户测评 | EDAS Serverless 上手体验
查看>>
mysql导出xls的格式
查看>>
开发者招聘节 | 2019阿里巴巴技术面试题分享(陆续放出)
查看>>
Linux 虚拟化实践之KVM
查看>>