首页 > 其他分享 >剑指 Offer 66. 构建乘积数组

剑指 Offer 66. 构建乘积数组

时间:2023-09-11 20:35:20浏览次数:36  
标签:66 乘积 Offer int res 数组

题目链接: 剑指 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]。不能使用除法。

解法思路:

代码:

func constructArr(a []int) []int {
 
    n := len(a)
    res := make([]int,n)
    if n == 0 {
        return res
    }
	//第一次从前往后遍历,B[i] = 左半边的乘积
    for i , p := 0,1;i < n ;i++{
       res[i] =p;
       p *= a[i]
    }
    //第二次从后往前遍历,B[i] *= 右半边的乘积
    for i,p := n-1,1; i>=0;i--{
        res[i] *= p
        p *= a[i]
    }
    return res
}

标签:66,乘积,Offer,int,res,数组
From: https://www.cnblogs.com/lxing-go/p/17694429.html

相关文章

  • 剑指 Offer 65. 不用加减乘除做加法
    题目链接:剑指Offer65.不用加减乘除做加法题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用“+”、“-”、“*”、“/”四则运算符号。解法思路:不用加减乘除,那么可以用位运算代替:可以用a^b运算表示无进位的加法可以用(a&b)<<1表示进位因此a+b=a^b+((a......
  • 剑指 Offer 63. 股票的最大利润
    题目链接:剑指Offer63.股票的最大利润题目描述:假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?解法思路:使用minv记录前i天的最低价格,第i天卖出的利润就是prices[i]-minv,遍历一遍数组,不断更新最大利润代码:funcmaxP......
  • 剑指 Offer 60. n个骰子的点数
    题目链接:剑指Offer60.n个骰子的点数题目描述:把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。解法思路:还未理解代码://通常做法是声明一个二维数组dp,dp[i][j]代表前i个骰子的点数和j的概率,//并执行状态转移。而由于......
  • 剑指 Offer 61. 扑克牌中的顺子
    题目链接:剑指Offer61.扑克牌中的顺子题目描述:从若干副扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为0,可以看成任意数字。A不能视为14。解法思路:代码://1.将所有的0删掉,看剩下的数//2.看有没有......
  • openGauss学习笔记-66 openGauss 数据库管理-创建和管理schema
    openGauss学习笔记-66openGauss数据库管理-创建和管理schema66.1背景信息schema又称作模式。通过管理schema,允许多个用户使用同一数据库而不相互干扰,可以将数据库对象组织成易于管理的逻辑组,同时便于将第三方应用添加到相应的schema下而不引起冲突。管理schema包括:创建schema......
  • Android程序员掌握这些面试技巧,offer拿到手软
    前言面试的顺利与否,直接决定了你是否能获得心仪的offer以及是否能拿到满意的薪资。如果说,简历是获得面试的通行证的话,那面试无疑是决定你是否能获得这份工作的重中之重。因此为自己的面试认真做个准备还是性价比很高的一件事情。面试前准备的四要素,简历、面经、知己知彼,录音设备。......
  • 剑指 Offer 59 - I. 滑动窗口的最大值
    题目链接:剑指Offer59-I.滑动窗口的最大值题目描述:给定一个数组nums和滑动窗口的大小k,请找出所有滑动窗口里的最大值。解法思路:单调队列:维护一个单调的队列,队列中保存的是对应数字的数组下标每新加进来一个元素,首先删除队头(超出滑动窗口的范围的值)然后比较当前元......
  • 剑指 Offer 56 - II. 数组中数字出现的次数 II
    题目链接:剑指Offer56-II.数组中数字出现的次数II题目描述:在一个数组nums中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。解法思路:代码:......
  • 剑指 Offer 57 - II. 和为s的连续正数序列
    题目链接:剑指Offer57-II.和为s的连续正数序列题目描述:输入一个正整数target,输出所有和为target的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。解法思路:双指针:当总和小于target时,j指针向后移动,直到大于或等于停......
  • ESP32(含ESP8266)实战问题第二章总结
    1. 一定要确保连接在同一个网络中,才可以通讯这是基础,两种方式都是需要这个基础的。如在esp8266作为服务端的时候可以先连接手机的热点之后,在调试软件中进行连接后数据传输。2. Serial.println()不会帮你修饰就发出去了,所以造成了你在写esp8266作为服务器的时候,服务端传输的数据用这......