剑指 Offer 66. 构建乘积数组

汇川Easy 301 和MCGS进行Modbus RTU通讯(485)浮点数读取和写入 4DF0001对应寄存器D0,4DF0003对应寄存器D2。注意:要选com2口,com1口是232通讯。 阅读详情

题目要求不能用除法,所以只能用乘法,如果每一个B[i]直接乘的话会有很多重复计算,费时
所以可根据题意 可构建一个矩阵,分为上下两个三角区域
下三角区域中,b[n] = b[n-1] * a[n-1]
上三角区域中,b[n] = b[n-+] * a[n+1]
这样递推可以有效地避免重复计算
最后上三角的b[n] 乘上下三角的b[n],就得到结果
在这里插入图片描述

public int[] constructArr(int[] a) {
        if (a.length == 0) return new int[0];

        /** 先建立两个数组bBown 和 bUp 分别来存放上下两个上角的值*/
        int[] bBown = new int[a.length];
        int[] bUp = new int[a.length];

        int[] res = new int[a.length];

        /** 先算出下三角区域的值*/
        bBown[0] = 1;
        for (int i = 1; i <= a.length-1; i++){
            bBown[i] = a[i-1] * bBown[i-1];
        }

        /** 再算出上三角区域的值*/
        bUp[a.length-1] = 1;
        res[a.length-1] = bBown[a.length-1] * bUp[a.length-1];
        for (int j = a.length-2; j >= 0;j--){
            bUp[j] = a[j+1] * bUp[j+1];
            /** 两个三角的值相结合*/
            res[j] = bUp[j] * bBown[j];
        }
        return res;
    }
第3版•系统集成项目管理工程师(中级) │ 告别迷茫!案例分析高分攻略 🥏第3版•系统集成项目管理工程师(中级) │ 告别迷茫!案例分析高分攻略 阅读详情

相关推荐

扣子(coze)案例^第22期:零代码打造小红书竞品监控系统+AI自动生成运营策略建议

本文详细介绍了如何利用扣子(coze)平台零代码搭建小红书竞品监控系统。该系统通过自动化工作流抓取竞品笔记数据,并存入飞书多维表格,结合AI能力自动生成包含可视化分析报告在内的运营策略建议,帮助运营者高效进行数据驱动的市场分析。

weixin_29313239的博客 1004

剑指 Offer 66. 构建乘积数组 c++

剑指Offer66.构建乘积数组 写在前面,小白从零刷题,在解答会写出思路,正确答案,以及所有使用到的语法和知识点 1. 双向遍历法 1.尝试自己想没想出来于是看答案,方法是两端遍历,分为两段,但是理解错题目了,有点难受。。 int up(int j) { if(j==0||j==1) return 1; return up(j-1)*j; }//尝试自己写了一个阶乘的递归数组,发现虽然很简单,但是自己写感觉也好慢。

y152543654的博客 284

双传声器法测量吸声材料的吸声系数(公式推导与解释)

在双传声器法中,通过测量两个位置的声压 p1和 p2​,可以分离出入射波和反射波的声压分量。双传声器法一般在阻抗管中进行,阻抗管的一端为平面波声源,另一端放置待测材料。两个传声器放置在靠近材料的阻抗管内,用于测量管道内的声压。双传声器法是一种常用于测量材料吸声系数的实验方法,通过在管道内使用两个传声器测量声波的入射和反射,来计算出材料的吸声系数。当测试样品较少时,测试时,需要交换两个传声器的位置,目的是为了相位校准。

m0_57407372的博客 1875

通关剑指Offer——剑指 Offer 66. 构建乘积数组

使用前缀和数组思想获取左边所有数乘积和右边所有数乘积将左右两边乘积再依次相乘便得到最终结果httpshttpshttpshttps。

SK_Jaco的博客 407

复合材料RVE建模与力学性能分析实战指南

代表体积元(RVE)建模是复合材料多尺度分析的核心技术,通过建立微观结构与宏观性能的定量关联,可准确预测材料力学行为。本文基于ABAQUS平台,详细解析三材料(纤维/基体/界面相)RVE建模全流程,包括参数化几何建模、周期性网格划分策略、材料属性定义技巧等关键技术环节。针对碳纤维增强环氧树脂等典型复合材料,提供网格控制参数建议和材料参数参考表,并重点说明周期性边界条件的实现方法与验证标准。通过Python脚本自动化处理和优化分析流程,可显著提升计算效率,为复合材料设计提供可靠仿真依据。

weixin_34062469的博客 548

魔改xjar支持springboot3,

其实这里基本就没问题了,实际项目中只要把这个spring-core包从私仓中替换,项目加密也就没有太大的毛病,但是这样对于追求完美的我来说,方便性还差点。原因找到了,看了下springboot github的issue,官方确实变更了,原因是因为springboot2中的。xjar项目文档还是不错的,clone下来,跟着文档,很容易就测试并通过了我的测试项目,于是便推给其他同事使用了。方法,那么问题来了,为啥springboot2没问题,spring3读取出来的却又是加密的,这是为毛?

jioulongzi的专栏 1537

剑指Offer 66. 【不能使用除法】构建乘积数组(Easy)

剑指Offer 66. 构建乘积数组(Easy) 【题目链接】 题解 构建乘积数组(表格分区,清晰图解) 思路 代码 class Solution(object): ### 0907 直接遍历(超时) # def constructArr(self, a): # """ # :type a: List[int] # :rtype: List[int] # """ # ret_ls = [] #

newCraftsman的博客 275

电脑版微信多开,最详细教程没有之一

首先桌面任意的位置右键新建文本文档输入如下代码: TASKKILL /F/IM WECHAT.EXE start " " "D:\Program Files (x86)\Tencent\WeChat\WeChat.exe" start " " "D:\Program Files (x86)\Tencent\WeChat\WeChat.exe" ...

大超子 4390

剑指 Offer 66:构建乘积数组

剑指 Offer 66:构建乘积数组题目解题方法一:上三角下三角 题目 题目链接 给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 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] 解题 方法一:上三角下三角 直接看图比较好理解,但是实现代码有点不舒服。 例如:[1,2,3,

菊头蝙蝠的博客 614

Vue3 + EventSource 实战:手把手教你打造实时AI聊天悬浮窗(附完整代码)

本文详细介绍了如何使用Vue3和EventSource技术构建一个实时AI聊天悬浮窗。文章从产品化视角出发,重点讲解了流式数据接收与渲染、悬浮窗UI交互的工程化实现、性能优化及高级功能,并提供了完整的代码示例,帮助开发者快速集成功能完整的AI问答系统。

assembly8low的博客 843

华为OD机试真题 新系统 9月20号 【字符串分组求和】

华为OD新系统机试真题【字符串分组求和】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【字符串分组求和】解析。

qq_45776114的博客 612

每日一题 - 剑指 Offer 66. 构建乘积数组

每日一题 - 剑指 Offer 66. 构建乘积数组 题目信息 时间: 2019-07-07 题目链接:Leetcode tag: 限制运算符号 难易程度:简单 题目描述: 给定一个数组 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] 注意 1. 所有元素乘积

一只小菜鸡的博客 296

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

LeetCode - 剑指 Offer 66. 构建乘积数组

剑指 Offer 66. 构建乘积数组:给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。

y2y2999的博客 565

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

[[EVD]] - 剑指 Offer 66. 构建乘积数组

题目分析:[[EVD]] - 剑指 Offer 66. 构建乘积数组https://leetcode-cn.com/problems/gou-jian-cheng-ji-shu-zu-lcof/ 简单描述: 给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。 限制🚫 所有元素乘积之和不会溢出 32 位整数 a.lengt

風的博客 828

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【剑指Offer】个人学习笔记_66_构建乘积数组

目录题目:[剑指 Offer 66. 构建乘积数组](https://leetcode-cn.com/problems/gou-jian-cheng-ji-shu-zu-lcof/)题目分析初始解答:学习他人:方法一:方法二:方法三:方法四:总结 刷题日期:下午4:42 2021年5月28日星期五 个人刷题记录,代码收集,来源皆为leetcode 经过多方讨论和请教,现在打算往Java方向发力 主要答题语言为Java 题目: 剑指 Offer 66. 构建乘积数组 难度中等117 给定一个数组 A[0,

苏柒的博客 519

LeetCode 剑指 Offer 66. 构建乘积数组

problem LeetCode 剑指 Offer 66. 构建乘积数组 给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。 solution 思路过程 第一:可以暴力,对每一个元素完成除了这个元素以外的乘法,时间复杂度就是O(n^2),也许过不了, 没试 第二,可能来三次,只要从头到尾,从尾到头两次就好了

erzhushashade的博客 159

剑指 Offer 66——构建乘积数组

题目连接:https://leetcode-cn.com/problems/gou-jian-cheng-ji-shu-zu-lcof/ 给定一个数组 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] 解题过程 题目意思是:B[i]的值是a中出去i位置的值的乘积 先求 i 左侧的乘积值,存入

学而不思则忘 466

剑指 Offer(第2版)面试题 66:构建乘积数组

剑指 Offer(第2版)面试题 66:构建乘积数组

ProgramNovice的博客 600

LeetCode238 除自身以外数组的乘积 & 剑指Offer 66 构建乘积数组

LeetCode238 除自身以外数组的乘积题目解题解题一:空间复杂度为O(n)解题二:空间复杂度为O(1) 题目 解题 解题一:空间复杂度为O(n) // javascript var productExceptSelf = function(nums) { const n = nums.length; // 左右两侧的乘积列表 const multiL = new Array(n), multiR = new Array(n); const ans = new Ar

251
上一篇: 剑指 Offer 12. 矩阵中的路径
下一篇: 剑指 Offer 59 - II. 队列的最大值
Huiex胖子君
博客等级 码龄6年 3粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值