剑指offer——面试题52:构建乘积数组
剑指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:构建乘积数组相关推荐
- 剑指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].不能使 ...
- 剑指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].不能使用 ...
- 剑指offer 面试题三 找出数组中重复的数字
1 import org.junit.Test; 2 3 import java.util.Arrays; 4 import java.util.HashSet; 5 6 public class D ...
- 剑指offer——面试题33:把数组排成最小数
剑指offer–面试题33:把数组排成最小数 Solution1: 20180904复习.重点记忆比较技巧!!! 代码参考网址:https://www.nowcoder.com/profile/416 ...
- 剑指offer——面试题14:调整数组顺序使奇数位于偶数前面
剑指offer--面试题14:调整数组顺序使奇数位于偶数前面 Solution1: 顺序交换,比较好的算法!!! class Solution { public:void reOrderArray(v ...
- 剑指offer——面试题8:旋转数组的最小数字
剑指offer--面试题8:旋转数组的最小数字 Solution1: 自己想的复杂度为O(n)O(n)O(n)的算法,若用二分查找则: 1.代码复杂:2.最坏情况下的二分查找的时间复杂度亦为O(n)O ...
- 两个数组中对应的下标的值合成一个新的数组_剑指 offer 面试题精选图解 03 . 数组中重复的数字
今天分享的题目来源于 LeetCode 上的剑指 Offer 系列 面试题03. 数组中重复的数字. 题目链接:https://leetcode-cn.com/problems/shu-zu-zhon ...
- [剑指offer]面试题8:旋转数组的最小数字
面试题8:旋转数组的最小数字 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2 ...
- 剑指offer面试题52. 两个链表的第一个公共节点(双指针法)
题目描述 输入两个链表,找出它们的第一个公共节点. 思路 详见链接 代码 class Solution:def getIntersectionNode(self, headA:ListNode, he ...
最新文章
- LeetCode简单题之密钥格式化
- ajax实现文件上传,多文件上传,追加参数
- SAP Fiori My task里complete checkbox的处理
- dj电商-架构与布局
- Javascript面向对象编程(一):对象的产生
- Spring Boot基础学习笔记10:配置国际化页面
- TPC-C 中跑赢 Oracle 的 OceanBase,双 11 处理峰值达 6100 万次/秒!
- hibernate_使用c3p0连接池配置
- php批量打印快递单,ecshop批量打印快递单的方法
- 树莓派 无法定位软件包 解决方案
- Kinetics-400数据集分类名中英文对照汇总
- 上市公司财务报表分析
- 远程重装Win11系统图文教程
- 后盾网-CI框架实例教程-马振宇 - 学习笔记(1~2)
- 简述直方图和柱形图的区别_什么是直方图?跟柱状图有什么区别?终于有人讲明白了...
- 软件驻场开发是什么?有什么好处
- 如何用老毛桃PE启动盘进入PE系统给硬盘分区
- vue3使用Pinia进行全局状态管理,Pinia安装和使用,Pinia 和 Vuex的对比
- python写pdf的常用包?
- 电脑开两个微信_电脑上登录两个微信或是多个微信?
热门文章
- 数据结构上机实践第14周项目1(4) - 验证算法(平衡二叉树)
- RobotStudio碰撞检测的设定
- SLAM的一些基础知识
- mysql root用户可以同时几个人连接_重学MySQL系列(四):10分钟快速掌握MySQL用户与权限管理
- 图片服务器 文件系统,调研分享:图片文件在各文件系统上的访问性能对比
- php有哪些debug方式,Console有哪些Debug方法
- css禁止背景图拉伸_html-css控制背景图全屏拉伸不重复显示
- python静态递归函数_Python递归函数
- java线程main异常,‘java.lang.NoSuchMethodError:main的原因’线程中的异常“main”’...
- java数组线性查找_数组查找: 线性查找与二分查找