238 Product of Array Except Self 除自身以外数组的乘积
2024-08-24 22:09:58
一个长度为 n 的整形数组nums,其中 n > 1,返回一个数组 output ,其中 output[i] 等于nums中除nums[i]以外所有元素的乘积。
不用除法 且在O(n)内解决这个问题。
例如,输入 [1,2,3,4],返回 [24,12,8,6]。
进阶:
你可以在常数空间复杂度内解决这个问题吗?(注意:出于空间复杂度分析的目的,输出数组不被视为额外空间。)
详见:https://leetcode.com/problems/product-of-array-except-self/description/
Java实现:
class Solution {
public int[] productExceptSelf(int[] nums) {
int n=nums.length;
int[] f=new int[n];
int[] b=new int[n];
int[] r=new int[n];
Arrays.fill(f,1);
Arrays.fill(b,1);
for(int i=0;i<n-1;++i){
f[i+1]=f[i]*nums[i];
}
for(int i=n-1;i>0;--i){
b[i-1]=b[i]*nums[i];
}
for(int i=0;i<n;++i){
r[i]=f[i]*b[i];
}
return r;
}
}
C++实现:
class Solution {
public:
vector<int> productExceptSelf(vector<int>& nums) {
int n=nums.size();
vector<int> f(n,1),b(n,1),res(n);
for(int i=0;i<n-1;++i)
{
f[i+1]=f[i]*nums[i];
}
for(int i=n-1;i>0;--i)
{
b[i-1]=b[i]*nums[i];
}
for(int i=0;i<n;++i)
{
res[i]=f[i]*b[i];
}
return res;
}
};
参考:https://www.cnblogs.com/grandyang/p/4650187.html
最新文章
- NOSDK--一键打包的实现(四)
- python splinter
- Javascript里,想把一个整数转换成字符串,字符串长度为2
- ehcache基本原理
- Java多线程——线程同步
- Spring 3.0就这么简单读书笔记
- cmake学习笔记(五)
- TOMCAT的域名配置
- 读书笔记—CLR via C#异常和状态管理
- tensorflow softplus应用
- Leetcode_169_Majority Element
- 软工+C(11): 从命令行开始逐步培养编程能力(Java)
- [转帖]IIS内虚拟站点配置信息说明
- A2W,W2A等的使用
- s5-2 Cpu调度算法
- LeetCode 633. 平方数之和
- 摄像头驱动OV7725学习笔记连载(一):OV7725 电器特性和时序图
- Centos重新启动网络配置文件,/etc/resolv.conf被覆盖或清空问题解决
- Codeforces Round #246 (Div. 2) D E
- maven 插件jetty/tomcat启动 web 应用
热门文章
- ajax 请求 get请求成功,post 404 not found
- Elasticsearch学习系列之多文档操作mget
- 《Java设计模式》之接口模式
- Unity3D研究之多语言用中文做KEY
- docker 默认用户和密码
- react 中的 setState
- 【bzoj1260】[CQOI2007]涂色paint
- Explicit Interface Implementation (C# Programming Guide)
- shell脚本自动更新git
- bzoj2763 [JLOI2011]飞行路线——分层图