剑指Offer66—构建乘积数组
剑指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
算法流程:
- 初始化:数组 B ,其中 B[0] = 1 ;辅助变量 tmp = 1 ;
- 计算 B[i] 的 下三角 各元素的乘积,直接乘入 B[i];
- 计算 B[i] 的 上三角 各元素的乘积,记为 tmp ,并乘入 B[i];
- 返回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—构建乘积数组相关推荐
- 剑指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].不能使 ...
- 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] ...
- 剑指offe--构建乘积数组
问题:将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合 ...
- 【LeetCode】剑指 Offer 66. 构建乘积数组
[LeetCode]剑指 Offer 66. 构建乘积数组 文章目录 [LeetCode]剑指 Offer 66. 构建乘积数组 package offer;import java.util.Arra ...
- 剑指offer——面试题52:构建乘积数组
剑指offer--面试题52:构建乘积数组 Solution1: 自己想出来的笨蛋算法! class Solution { public:vector<int> multiply(cons ...
- 《剑指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]*. ...
- 剑指Offer对答如流系列 - 构建乘积数组
文章目录 面试题66:构建乘积数组 一.题目描述 二.问题分析 三.问题解答 面试题66:构建乘积数组 一.题目描述 给定一个数组A[0, 1, -, n-1],请构建一个数组B[0, 1, -, n ...
- 【剑指offer】数据结构——数组
目录 数据结构--数组 直接解 [剑指offer]03.数组中重复的数字 排序法 集合法 原地置换 [剑指offer]04. 二维数组中的查找 [剑指offer]29. 顺时针打印矩阵 [剑指offe ...
- 剑指Offer66题之每日6题 - 最后一天
原题链接: 第一题:序列化二叉树: 第二题:二叉搜索树的第k个结点: 第三题:数据流中的中位数: 第四题:滑动窗口的最大值: 第五题:矩阵中的路径: 第六题:机器人的运动范围: 第一题:序列化二叉树 ...
最新文章
- P5667 拉格朗日插值2(拉格朗日插值,NTT, 倒推求逆元)
- servlet知识点
- A02 创建实验环境快照
- Excel操作:导出到Excel并下载到web客户端
- 【摩天好课】数字时代职业生涯规划
- 成功将用intelli idea 建立的项目打包成jar文件,并在Linux上成功运行
- 批量删除满足指定条件的 SAP CRM One Order 订单
- socket编程介绍
- 用GDB调试Segmentation Fault错误
- OpenResty中使用反向代理
- vue 子级拿值_Vue 父组件主动获取子组件的值,子组件主动获取父组件的值
- LNMP架构的搭建--源码编译(MYSQL,PHP,nginx)
- update语句更新多条记录, 标记下
- 《深入理解计算机系统》读书笔记(ch1)
- 2021 年系统分析师下午真题及答案
- 一到两年工作经验的看完这些面试轻松拿offer
- 递归题目练习---扭蛋机
- OPPO云VPC网络实践
- 大厂必考深度学习算法面试题
- html中一些界面设计
热门文章
- 1.1.2标准化工作及相关工作组织
- 如何识别笔记本样机(2012版)
- arch安装百度输入法
- 华为3G e220 linux
- Goo3D 3d图片制作网站
- 企业微信api创建通讯录架构或成员出现60011没有权限问题
- R语言分析单细胞数据Day1——下载Seurat包并进行预处理(一)
- vs2019报错:配置“Debug|Win32”的 Designtime 生成失败。IntelliSense 可能不可用 出错内容
- 节点中心性(关键点)
- 多元线性回归--正规方程解 以及线性回归的可解释性和其他思考