【剑指Offer】构建乘积数组 解题报告(Python)

标签(空格分隔): 剑指Offer


题目地址:https://www.nowcoder.com/ta/coding-interviews

题目描述:

给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A1A[i-1]*A[i+1]…*A[n-1]。不能使用除法。

解题方法

LeetCode原题238. Product of Array Except Self。思路挺简单,用prod来保存之前的所有数字的乘积;回头的时候保存后面的所有数字的乘积。向前和向后的代码其实是一样的,所以题目还算简单。

代码:

# -*- coding:utf-8 -*-
class Solution:
def multiply(self, A):
ans = []
_len = len(A)
prod = 1
for i in range(_len):
ans.append(prod)
prod *= A[i]
prod = 1
for i in range(len(A) - 1, -1, -1):
ans[i] *= prod
prod *= A[i]
return ans

Date

2018 年 3 月 27 日 – 第一次把车开走了,注意离合要慢

最新文章

  1. Redis 学习笔记(C#)
  2. 解决Android Graphical Layout 界面效果不显示
  3. 作为一名前端er,从武汉来到深圳三个月有感
  4. Ext.js添加子组件
  5. protobuf框架简介
  6. C#函数式编程之可选值
  7. poj[1185]炮兵阵地
  8. html5游戏-包围盒检测算法
  9. Range
  10. 帮朋友急招PHP、Android开发工程师 西安 工资8k-12k
  11. storm源码之一个class解决nimbus单点问题【转】
  12. eclipse 利用已有c++代码建工程,并编译执行
  13. Spring项目跟Axis2结合
  14. Java Memory Management(1)
  15. HighCharts基本使用实例(入门)
  16. Unity 打包总结和资源的优化和处理
  17. 我的Emacs配置文件
  18. java 虚拟机学习--未完
  19. 添加本地jar包到maven仓库
  20. s21day12 python笔记

热门文章

  1. Linux-root管理员创建新用户
  2. react native安装遇到的问题
  3. 再聊我们自研的那些Devops工具
  4. CAS你知道吗
  5. mybatis-plus解析
  6. Android 小知识
  7. Android 基础UI组件(一)
  8. Hibernate持久化标志符生成策略
  9. Java Jar包压缩、解压使用
  10. Linux:sqlldr命令