剑指Offer66

题意

法1—暴力法(无法通过)

class Solution
{
public:vector<int> constructArr(vector<int>& a) {int size=a.size();vector<int> b(size);for(int i=0;i<size;i++){int tmp=1;for(int j=0;j<size;j++){if(i!=j){tmp*=a[j];}}b[i]=tmp;}return b;}
};

法2

 

算法流程:

  1. 初始化:数组 B ,其中 B[0] = 1 ;辅助变量 tmp = 1 ;
  2. 计算 B[i] 的 下三角 各元素的乘积,直接乘入 B[i];
  3. 计算 B[i] 的 上三角 各元素的乘积,记为 tmp ,并乘入 B[i];
  4. 返回B
class Solution
{
public:vector<int> constructArr(vector<int>& a) {int size=a.size();if(size<=1)return a;vector<int>b(size,1);int tmp=1;//计算左下角for(int i=1;i<size;i++){b[i] = a[i-1]*b[i-1];}//计算右上角for(int i=size-2;i>=0;i--){tmp = tmp*a[i+1];b[i]*=tmp;}return b;}
};

剑指Offer66—构建乘积数组相关推荐

  1. 剑指offer51 构建乘积数组(图解)

    描述 给定一个数组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. python数据结构剑指offer-构建乘积数组

    例题 描述 给定一个数组 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](除 A[i] ...

  3. 剑指offe--构建乘积数组

    问题:将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合 ...

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

    [LeetCode]剑指 Offer 66. 构建乘积数组 文章目录 [LeetCode]剑指 Offer 66. 构建乘积数组 package offer;import java.util.Arra ...

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

    剑指offer--面试题52:构建乘积数组 Solution1: 自己想出来的笨蛋算法! class Solution { public:vector<int> multiply(cons ...

  6. 《剑指offer》-- 构建乘积数组、求1+2+3+...+n、不用加减乘除做加法、包含min函数的栈、用两个栈实现队列

    一.构建乘积数组: 1.题目: 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*. ...

  7. 剑指Offer对答如流系列 - 构建乘积数组

    文章目录 面试题66:构建乘积数组 一.题目描述 二.问题分析 三.问题解答 面试题66:构建乘积数组 一.题目描述 给定一个数组A[0, 1, -, n-1],请构建一个数组B[0, 1, -, n ...

  8. 【剑指offer】数据结构——数组

    目录 数据结构--数组 直接解 [剑指offer]03.数组中重复的数字 排序法 集合法 原地置换 [剑指offer]04. 二维数组中的查找 [剑指offer]29. 顺时针打印矩阵 [剑指offe ...

  9. 剑指Offer66题之每日6题 - 最后一天

    原题链接: 第一题:序列化二叉树: 第二题:二叉搜索树的第k个结点: 第三题:数据流中的中位数: 第四题:滑动窗口的最大值: 第五题:矩阵中的路径: 第六题:机器人的运动范围: 第一题:序列化二叉树 ...

最新文章

  1. P5667 拉格朗日插值2(拉格朗日插值,NTT, 倒推求逆元)
  2. servlet知识点
  3. A02 创建实验环境快照
  4. Excel操作:导出到Excel并下载到web客户端
  5. 【摩天好课】数字时代职业生涯规划
  6. 成功将用intelli idea 建立的项目打包成jar文件,并在Linux上成功运行
  7. 批量删除满足指定条件的 SAP CRM One Order 订单
  8. socket编程介绍
  9. 用GDB调试Segmentation Fault错误
  10. OpenResty中使用反向代理
  11. vue 子级拿值_Vue 父组件主动获取子组件的值,子组件主动获取父组件的值
  12. LNMP架构的搭建--源码编译(MYSQL,PHP,nginx)
  13. update语句更新多条记录, 标记下
  14. 《深入理解计算机系统》读书笔记(ch1)
  15. 2021 年系统分析师下午真题及答案
  16. 一到两年工作经验的看完这些面试轻松拿offer
  17. 递归题目练习---扭蛋机
  18. OPPO云VPC网络实践
  19. 大厂必考深度学习算法面试题
  20. html中一些界面设计

热门文章

  1. 1.1.2标准化工作及相关工作组织
  2. 如何识别笔记本样机(2012版)
  3. arch安装百度输入法
  4. 华为3G e220 linux
  5. Goo3D 3d图片制作网站
  6. 企业微信api创建通讯录架构或成员出现60011没有权限问题
  7. R语言分析单细胞数据Day1——下载Seurat包并进行预处理(一)
  8. vs2019报错:配置“Debug|Win32”的 Designtime 生成失败。IntelliSense 可能不可用 出错内容
  9. 节点中心性(关键点)
  10. 多元线性回归--正规方程解 以及线性回归的可解释性和其他思考