【剑指offer】面试题66:构建乘积数组(Java)
给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B 中的元素 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。
示例:
输入: [1,2,3,4,5]
输出: [120,60,40,30,24]
提示:
所有元素乘积之和不会溢出 32 位整数
a.length <= 100000
代码:
class Solution {
public int[] constructArr(int[] a) {
int left[] = new int[a.length];
int right[] = new int[a.length];
int result[] = new int[a.length];
if(a.length==0)
{
return result;
}
left[0] = 1;
right[a.length-1]=1;
for(int i =1;i<a.length;i++)
{
left[i] = left[i-1]*a[i-1];
}
for(int i = a.length-2;i>=0;i--)
{
right[i] = right[i+1]*a[i+1];
}
for(int i=0;i<a.length;i++)
{
result[i] = left[i]*right[i];
}
return result;
}
}
【剑指offer】面试题66:构建乘积数组(Java)相关推荐
- 剑指Offer - 面试题66. 构建乘积数组(正反遍历)
1. 题目 给定一个数组 A[0,1,-,n-1],请构建一个数组 B[0,1,-,n-1],其中 B 中的元素 B[i]=A[0]×A[1]×-×A[i-1]×A[i+1]×-×A[n-1].不能使 ...
- 剑指offer面试题66. 构建乘积数组
题目描述 给定一个数组 A[0,1,-,n-1],请构建一个数组 B[0,1,-,n-1],其中 B 中的元素 B[i]=A[0]×A[1]×-×A[i-1]×A[i+1]×-×A[n-1].不能使用 ...
- 【有返回值的回溯法】剑指offer——面试题66:矩阵中的路径(回溯法)
剑指offer--面试题66:矩阵中的路径(回溯法) Solution:1 典型的回溯算法及代码 此题是回溯法的典型例题,思路以及代码均是书中所讲.要具体实现很有参考价值,借鉴之! 现在把书中代码贴在 ...
- 剑指offer 面试题三 找出数组中重复的数字
1 import org.junit.Test; 2 3 import java.util.Arrays; 4 import java.util.HashSet; 5 6 public class D ...
- 剑指offer——面试题33:把数组排成最小数
剑指offer–面试题33:把数组排成最小数 Solution1: 20180904复习.重点记忆比较技巧!!! 代码参考网址:https://www.nowcoder.com/profile/416 ...
- 剑指offer——面试题14:调整数组顺序使奇数位于偶数前面
剑指offer--面试题14:调整数组顺序使奇数位于偶数前面 Solution1: 顺序交换,比较好的算法!!! class Solution { public:void reOrderArray(v ...
- 剑指offer——面试题8:旋转数组的最小数字
剑指offer--面试题8:旋转数组的最小数字 Solution1: 自己想的复杂度为O(n)O(n)O(n)的算法,若用二分查找则: 1.代码复杂:2.最坏情况下的二分查找的时间复杂度亦为O(n)O ...
- 两个数组中对应的下标的值合成一个新的数组_剑指 offer 面试题精选图解 03 . 数组中重复的数字
今天分享的题目来源于 LeetCode 上的剑指 Offer 系列 面试题03. 数组中重复的数字. 题目链接:https://leetcode-cn.com/problems/shu-zu-zhon ...
- 剑指offer面试题6 重建二叉树(java)
注:(1)java中树的构建 (2)构建子树时可以直接利用Arrays.copyOfRange(preorder, from, to),这个方法是左开右闭的 1 package com.xsf.Sor ...
- [剑指offer]面试题8:旋转数组的最小数字
面试题8:旋转数组的最小数字 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2 ...
最新文章
- EasyUI学习总结(五)——EasyUI组件使用
- linux目录空间内存,Linux 目录结构:内存文件夹
- USTC English Club Note20211110
- SpringMVC校验---SpringMVC学习笔记(八)
- 红帽将召开“开放你的世界”在线论坛
- Buying Feed, 2010 Nov (单调队列优化DP)
- mysql笔记手写_MySQL 笔记(一)
- java持久层框架mybatis如何防止sql注入
- 宏正ATEN推出ALTUSEN系列 全面冲刺KVM高端市场
- 2017年美国人工智能投资分析报告
- 常见物理量的量纲在OpenFOAM中的表示
- 奶爸级教学---webpack详细教学
- 数据可视化图表类型_数据可视化中12种最常见的图表类型
- LinuxC语言简单实现图片加马赛克-标准IO实现
- 自适应网页(响应式布局)+弹性布局
- 如何快速提升文章阅读量?
- HTML5情人节礼物2(女友3D相册)
- JVM监控及诊断工具-GUI篇
- 解决Django migrate: Your models in app(s): ‘Mymodelclassname‘ have changes that are not yet reflected
- OpenMP - 维基百科,自由的百科全书
热门文章
- LeetCode 923. 三数之和的多种可能(双指针)
- LeetCode 198. 打家劫舍(DP)
- unity game和scene效果不一样_不同的真石漆装饰效果也是不一样的
- k8s挂载目录_拥抱云原生,如何将开源项目用k8s部署?
- 朵唯机器人怎么连网_平遥古城推出机器人导游 可伴游还可骑行
- java 反射的弊端_java反射机制的一些学习心得小结
- 可解释性:对神经网络中层特征复杂度的解释与拆分
- 对比学习有多火?文本聚类都被刷爆了…
- 美团服务体验平台对接业务数据的最佳实践-海盗中间件
- Redis系列教程(二):详解Redis的存储类型、集群架构、以及应用场景