剑指offer——面试题52:构建乘积数组

Solution1:

自己想出来的笨蛋算法!

class Solution {
public:vector<int> multiply(const vector<int>& A) {vector<int> B;for(int i = 0; i < A.size(); i++){B.push_back(my_multiply(A, i));}return B;}int my_multiply(const vector<int>& A, int k) {int result = 1;for(int i = 0; i < A.size(); i++) {if(i == k) ;else result *= A[i];}return result;}
};

Solution2:

参考网址:https://www.nowcoder.com/profile/1878117/codeBookDetail?submissionId=13951708

认真捋一捋,确实快不少~~~

class Solution {
public:vector<int> multiply(const vector<int>& A) {int n = A.size(), temp = 1;vector<int> B(n, 1);if(n > 0) {//计算下三角连乘for(int j = 1; j < n; j++) {B[j] = B[j-1] * A[j-1];}for(int k = n-2; k >= 0; k--) {temp = temp * A[k+1];B[k] = B[k] * temp;}}return B;}
};

剑指offer——面试题52:构建乘积数组相关推荐

  1. 剑指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].不能使 ...

  2. 剑指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].不能使用 ...

  3. 剑指offer 面试题三 找出数组中重复的数字

    1 import org.junit.Test; 2 3 import java.util.Arrays; 4 import java.util.HashSet; 5 6 public class D ...

  4. 剑指offer——面试题33:把数组排成最小数

    剑指offer–面试题33:把数组排成最小数 Solution1: 20180904复习.重点记忆比较技巧!!! 代码参考网址:https://www.nowcoder.com/profile/416 ...

  5. 剑指offer——面试题14:调整数组顺序使奇数位于偶数前面

    剑指offer--面试题14:调整数组顺序使奇数位于偶数前面 Solution1: 顺序交换,比较好的算法!!! class Solution { public:void reOrderArray(v ...

  6. 剑指offer——面试题8:旋转数组的最小数字

    剑指offer--面试题8:旋转数组的最小数字 Solution1: 自己想的复杂度为O(n)O(n)O(n)的算法,若用二分查找则: 1.代码复杂:2.最坏情况下的二分查找的时间复杂度亦为O(n)O ...

  7. 两个数组中对应的下标的值合成一个新的数组_剑指 offer 面试题精选图解 03 . 数组中重复的数字

    今天分享的题目来源于 LeetCode 上的剑指 Offer 系列 面试题03. 数组中重复的数字. 题目链接:https://leetcode-cn.com/problems/shu-zu-zhon ...

  8. [剑指offer]面试题8:旋转数组的最小数字

    面试题8:旋转数组的最小数字 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2 ...

  9. 剑指offer面试题52. 两个链表的第一个公共节点(双指针法)

    题目描述 输入两个链表,找出它们的第一个公共节点. 思路 详见链接 代码 class Solution:def getIntersectionNode(self, headA:ListNode, he ...

最新文章

  1. LeetCode简单题之密钥格式化
  2. ajax实现文件上传,多文件上传,追加参数
  3. SAP Fiori My task里complete checkbox的处理
  4. dj电商-架构与布局
  5. Javascript面向对象编程(一):对象的产生
  6. Spring Boot基础学习笔记10:配置国际化页面
  7. TPC-C 中跑赢 Oracle 的 OceanBase,双 11 处理峰值达 6100 万次/秒!
  8. hibernate_使用c3p0连接池配置
  9. php批量打印快递单,ecshop批量打印快递单的方法
  10. 树莓派 无法定位软件包 解决方案
  11. Kinetics-400数据集分类名中英文对照汇总
  12. 上市公司财务报表分析
  13. 远程重装Win11系统图文教程
  14. 后盾网-CI框架实例教程-马振宇 - 学习笔记(1~2)
  15. 简述直方图和柱形图的区别_什么是直方图?跟柱状图有什么区别?终于有人讲明白了...
  16. 软件驻场开发是什么?有什么好处
  17. 如何用老毛桃PE启动盘进入PE系统给硬盘分区
  18. vue3使用Pinia进行全局状态管理,Pinia安装和使用,Pinia 和 Vuex的对比
  19. python写pdf的常用包?
  20. 电脑开两个微信_电脑上登录两个微信或是多个微信?

热门文章

  1. 数据结构上机实践第14周项目1(4) - 验证算法(平衡二叉树)
  2. RobotStudio碰撞检测的设定
  3. SLAM的一些基础知识
  4. mysql root用户可以同时几个人连接_重学MySQL系列(四):10分钟快速掌握MySQL用户与权限管理
  5. 图片服务器 文件系统,调研分享:图片文件在各文件系统上的访问性能对比
  6. php有哪些debug方式,Console有哪些Debug方法
  7. css禁止背景图拉伸_html-css控制背景图全屏拉伸不重复显示
  8. python静态递归函数_Python递归函数
  9. java线程main异常,‘java.lang.NoSuchMethodError:main的原因’线程中的异常“main”’...
  10. java数组线性查找_数组查找: 线性查找与二分查找