剑指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]不能使用除法

示例:
输入: [1,2,3,4,5]
输出: [120,60,40,30,24]提示:
所有元素乘积之和不会溢出 32 位整数
a.length <= 100000

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/gou-jian-cheng-ji-shu-zu-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 正向扫描获取每个数左侧的乘积
  • 反向扫描获取每个数右侧的乘积
  • 最后扫描一遍得到除自身外的两侧乘积相乘
class Solution {
public:vector<int> constructArr(vector<int>& a) {int n = a.size(), i, product = 1;vector<int> left(n,1), right(n,1);for(i = 1; i < n; ++i){product *= a[i-1];left[i] = product;}product = 1;for(i = n-2; i >= 0; i--){product *= a[i+1];right[i] = product;}vector<int> ans(n);for(i = 0; i < n; ++i)ans[i] = left[i]*right[i];return ans;}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477314.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 2.0与Java 9

Java 9发布至今已经有半年之久&#xff0c;Spring Boot对其的支持进度也快接近完成&#xff0c;本文就来整理一下在Java 9上运行Spring Boot的一些要点。 必须使用Spring Boot2.0 在Spring Boot的版本计划中明确说明了2.0版本开始才对Java 9进行支持&#xff0c;而1.x版本暂时…

扩散模型在图像生成领域大火,风头超过GAN?

文 | Zhifeng源 | 知乎首先说说我的背景。我从20年diffusion model刚出来就开始&#xff08;花部分精力&#xff09;做这个问题&#xff0c;到目前已经有了3篇相关paper (DiffWave, FastDPM, PDR), 之后也会将其作为我的主要方向之一。我算是这一领域比较早期的研究者&#xff…

剑指Offer - 面试题50. 第一个只出现一次的字符(unordered_map)

1. 题目 在字符串 s 中找出第一个只出现一次的字符。如果没有&#xff0c;返回一个单空格。 示例: s "abaccdeff" 返回 "b"s "" 返回 " "限制&#xff1a; 0 < s 的长度 < 50000来源&#xff1a;力扣&#xff08;LeetCode&…

618大促将至,用AI挖掘差评,零代码实现亿级评论观点情感分析

文 | 卖萌酱马上就要到一年一度的618大促&#xff0c;卖萌酱在添加购物车时&#xff0c;选择困难症又犯了。如今的电商评论区&#xff0c;大量刷单行为淹没了重要的产品评价&#xff0c;有的被淹没在了追评区&#xff0c;有的甚至已经不分好评/中评/差评区了&#xff0c;而是“…

Spring Boot 2.0 新特性和发展方向

以Java 8 为基准 Spring Boot 2.0 要求Java 版本必须8以上&#xff0c; Java 6 和 7 不再支持。 内嵌容器包结构调整 为了支持reactive使用场景&#xff0c;内嵌的容器包结构被重构了的幅度有点大。EmbeddedServletContainer被重命名为WebServer&#xff0c;并且org.springf…

剑指Offer - 面试题40. 最小的k个数(排序/大顶堆)

1. 题目 输入整数数组 arr &#xff0c;找出其中最小的 k 个数。例如&#xff0c;输入4、5、1、6、2、7、3、8这8个数字&#xff0c;则最小的4个数字是1、2、3、4。 示例 1&#xff1a; 输入&#xff1a;arr [3,2,1], k 2 输出&#xff1a;[1,2] 或者 [2,1]示例 2&#xff…

Nature:大批学者正在涌向工业界,与国内趋势相反?

文 | 杨净 明敏 发自 凹非寺源 | 量子位Nature最新发文&#xff1a;学术界正刮起一阵离职潮。这当中&#xff0c;处于职业中期的科学家尤甚。而他们的集体归宿&#xff0c;是转向工业界。事实上&#xff0c;这种趋势由来已久。早在2018年一项研究预测显示&#xff0c;高等教育将…

剑指Offer - 面试题54. 二叉搜索树的第k大节点(二叉树循环遍历)

1. 题目 给定一棵二叉搜索树&#xff0c;请找出其中第k大的节点。 示例 1: 输入: root [3,1,4,null,2], k 13/ \1 4\2 输出: 4示例 2: 输入: root [5,3,6,2,4,null,null,1], k 35/ \3 6/ \2 4/1 输出: 4限制&#xff1a; 1 ≤ k ≤ 二叉搜索树元素个数来源&#xf…

Spring Boot中使用LDAP来统一管理用户信息

很多时候&#xff0c;我们在构建系统的时候都会自己创建用户管理体系&#xff0c;这对于开发人员来说并不是什么难事&#xff0c;但是当我们需要维护多个不同系统并且相同用户跨系统使用的情况下&#xff0c;如果每个系统维护自己的用户信息&#xff0c;那么此时用户信息的同步…

剑指Offer - 面试题53 - II. 0~n-1中缺失的数字(二分、位运算)

文章目录1. 题目2. 解题2.1 充分利用题目信息2.2 位运算2.3 二分查找1. 题目 一个长度为n-1的递增排序数组中的所有数字都是唯一的&#xff0c;并且每个数字都在范围0&#xff5e;n-1之内。在范围0&#xff5e;n-1内的n个数字中有且只有一个数字不在该数组中&#xff0c;请找出…

大厂如何决定裁掉谁?

文 | 祝乐源 | 曲速纪元说明&#xff1a;本文并非以具体某一家大厂为具体描述对象&#xff0c;每家公司有其特殊的流程&#xff0c;因此所描述的流程不一定适合所有公司。只是提供一个大厂裁员的逻辑框架&#xff0c;具体操作上可能存在流程和操作上的节点增加以及前后顺序变化…

Spring Boot中使用Flyway来管理数据库版本

久违了的Spring Boot系列&#xff0c;今天抽空更新一篇。去年写过很多篇关于数据访问的文章了&#xff0c;比如下面这些&#xff1a; 使用JdbcTemplate使用Spring-data-jpa简化数据访问层&#xff08;推荐&#xff09;多数据源配置&#xff08;一&#xff09;&#xff1a;JdbcT…

剑指Offer - 面试题53 - I. 在排序数组中查找数字 I(二分查找的变形版本)

1. 题目 统计一个数字在排序数组中出现的次数。 示例 1: 输入: nums [5,7,7,8,8,10], target 8 输出: 2示例 2: 输入: nums [5,7,7,8,8,10], target 6 输出: 0限制&#xff1a; 0 < 数组长度 < 50000类似题目&#xff1a;LeetCode 34. 在排序数组中查找元素的第一个…

码农创造了AI,但开发AI不再需要码农了??

马上就要到一年一度的618大促&#xff0c;卖萌酱在添加购物车时&#xff0c;选择困难症又犯了。如今的电商评论区&#xff0c;大量刷单行为淹没了重要的产品评价&#xff0c;有的被淹没在了追评区&#xff0c;有的平台甚至已经不分好评/中评/差评区了&#xff0c;而是“一眼望去…

LeetCode 1351. 统计有序矩阵中的负数

1. 题目 给你一个 m * n 的矩阵 grid&#xff0c;矩阵中的元素无论是按行还是按列&#xff0c;都以非递增顺序排列。 请你统计并返回 grid 中 负数 的数目。 示例 1&#xff1a; 输入&#xff1a;grid [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]] 输出&#xff1a;…

码农创造了AI,但开发AI不再需要码农了

马上就要到一年一度的618大促&#xff0c;卖萌酱在添加购物车时&#xff0c;选择困难症又犯了。 如今的电商评论区&#xff0c;大量刷单行为淹没了重要的产品评价&#xff0c;有的被淹没在了追评区&#xff0c;有的平台甚至已经不分好评/中评/差评区了&#xff0c;而是“一眼望…

JPA的多表复杂查询

最近工作中由于要求只能用hibernatejpa 与数据库进行交互&#xff0c;在简单查询中&#xff0c;jpa继承CrudRepository<T, ID>接口 &#xff0c;然后利用jpa的方法命名规范进行jpql查询&#xff0c;然而在进行复杂查询时&#xff0c;需要继承JpaSpecificationExecutor接口…

LeetCode 1352. 最后 K 个数的乘积

1. 题目 请你实现一个「数字乘积类」ProductOfNumbers&#xff0c;要求支持下述两种方法&#xff1a; add(int num) – 将数字 num 添加到当前数字列表的最后面。getProduct(int k) – 返回当前数字列表中&#xff0c;最后 k 个数字的乘积。 – 你可以假设当前列表中始终 至少…

颠覆认知!数据增强、正则化可导致不易察觉的灾难?

文 | 子龙编 | 智商掉了一地作为常用的炼丹技巧&#xff0c;正则化 (Regularization) 和数据增强 (Data Augmentation, DA) 常常被简单粗暴地引入模型中来防止数据过拟合&#xff0c;进而提升最后的 performance。如果说&#xff0c;更高的performance就意味着更好的泛化能力&a…

spring-boot-starter-swagger 1.3.0.RELEASE:新增对JSR-303的支持和host的配置

简介 该项目主要利用Spring Boot的自动化配置特性来实现快速的将swagger2引入spring boot应用来生成API文档&#xff0c;简化原生使用swagger2的整合代码。 源码地址 GitHub&#xff1a;https://github.com/dyc87112/spring-boot-starter-swagger码云&#xff1a;https://git…