Leet code 238 除自身以外的数组的乘积

解题思路

以示例1为例  创建两个数组dp(统计该位置之的所有乘积) bp(统计该位置之后的所有乘积)

 比如 1 2  3  4   3的dp应该等于 1*2  bp应该等于 4 这样 dp* bp就为该位置的答案

 分别计算出每个位置前后的乘积然后放入数组  然后相乘放入

但要注意两个边界 最前和最后 dp[0] =1   bp[nums.size()-1] =1 

那么第 i 个位置的dp如何求呢? dp[i]=dp[i-1] * nums[i-1]   从前向后遍历 

那么第 i 个位置的bp如何求呢? bp[i]=dp[i+1] * nums[i+1]  从后向前遍历 

然后创建ret数组 每个位置遍历一遍 ret[i] = dp[i] * bp[i]

代码如下

class Solution {
public:vector<int> productExceptSelf(vector<int>& nums) {int n=nums.size();vector<int> dp (n),bp(n),ret(n);dp[0]=1,bp[n-1]=1;for(int i=1;i<n;i++){dp[i]=dp[i-1]*nums[i-1];}for(int i=n-2;i>=0;i--){bp[i]=bp[i+1]*nums[i+1];}for(int i=0;i<n;i++){ret[i]=dp[i]*bp[i];}return ret;}
};

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/757416.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3.leetcode---验证回文串(Java版)

链接: https://leetcode.cn/problems/XltzEq/description/ 给定一个字符串 s &#xff0c;验证 s 是否是 回文串 &#xff0c;只考虑字母和数字字符&#xff0c;可以忽略字母的大小写。 本题中&#xff0c;将空字符串定义为有效的 回文串 。 示例 1: 输入: s “A man, a plan…

2022年安徽省职业院校技能大赛 (高职组)“云计算”赛项样卷

#需要资源或有问题的&#xff0c;可私博主&#xff01;&#xff01;&#xff01; #需要资源或有问题的&#xff0c;可私博主&#xff01;&#xff01;&#xff01; #需要资源或有问题的&#xff0c;可私博主&#xff01;&#xff01;&#xff01; 第一场次&#xff1a;私有云(5…

【Linux】自动化构建工具-make/Makefile

个人主页 &#xff1a; zxctscl 如有转载请先通知 文章目录 1. 前言2. 认识make/Makefile3. 了解make/Makefile原理3.1 依赖关系和依赖方法3.2 make检测的顺序3.3 PHONY:XXX 4. makefile内置符号 1. 前言 在上一篇中已经了解了【Linux】编译器-gcc/g使用&#xff0c;这次来一起…

Arch xfce桌面修改中文locale为英文locale和i3wm禁用触摸板

中文很烦人&#xff0c;要切换输入法&#xff0c;所以更改 localectrl list-locales localectl set-locale en_US.UTF-8 localectl status另外有一个可替代的输入法方案: fcitx5 自行搜fcitx5 archwiki 重启&#xff0c;提示修改目录为英文&#xff0c;保留英文 i3wm 禁用触…

具有功耗低、触控灵敏度高、抗干扰能力强等功能的单键电容式触控芯片——TS223B,适用于小家电、电子玩具等产品

•应用领域• 适用于小家电、电子玩具、智能物联网等各种触控产品方案。 •功能介绍• 这款推出的单键电容式触控芯片TS223B具有功耗低、触控灵敏度高、抗干扰能力强等众多优势&#xff0c;输出方式包括直接输出、电平翻转输出&#xff0c;并且输出的初始状态可以配置&#xff…

前端将两个div在一个长为500px,高为300px的div里面并列居中对齐。

前端将两个div在一个长为500px&#xff0c;高为300px的div里面并列居中对齐。 要实现将两个 div 元素放置在一个长为500px&#xff0c;高为300px的父 div 中&#xff0c;一个在左边&#xff0c;一个在右边&#xff0c;并且居中对齐&#xff0c;可以使用Flexbox布局来实现。 <…

Vue快速教程:如何优雅地移除数组中的特定元素?

1、事件参与角色介绍 角色&#xff1a; 1、记录数组multipleSelection&#xff0c;负责记录目前已勾选的记录 2、表格变量currentDeviceList&#xff0c;显示显示当前表格的内容2、事件关联 由于表格是带筛选功能的&#xff0c;且记录带有记忆性&#xff0c;所以记录数组mul…

Outlook邮箱后缀是什么?如何改邮箱后缀?

Outlook邮箱后缀可以更改吗&#xff1f;微软有哪些后缀的邮箱&#xff1f; 对于许多刚接触Outlook邮箱的新手来说&#xff0c;了解Outlook邮箱后缀是必不可少的一步。那么&#xff0c;Outlook邮箱后缀究竟是什么呢&#xff1f;接下来&#xff0c;AokSend就来详细探讨一下这个问…

SSD203D高性能HDMI投影仪方案

一、方案描述&#xff1a; SSD203D是高度集成的高性能HDMI投影仪解决方案,主芯片为ARM Cortex A7,dule core,1.2GHz;内置DDR3,1Gb;支持H.264/H.265解码;支持JPEG基线编码;支持2D图形引擎;支持HDMI输出最高可达1920x1080/1920x120030fps ;支持SPI-Nor/Nand Flash;Built-in RTC;…

C语言之计算某日是该年的第几天

目录 一 简介 二 代码实现 三 时空复杂度 一 简介 在C语言中&#xff0c;计算某日是该年的第几天通常涉及以下步骤&#xff1a; 判断输入的年份是否为闰年。根据判断结果&#xff0c;确定当年二月的天数&#xff08;28或29天&#xff09;。然后&#xff0c;根据月份从前…

媒体邀约专访的意义?怎么做

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 媒体邀约专访是指企业、组织或个人主动邀请媒体进行专题访谈的一种公关活动。这种活动对于提升品牌形象、传播信息、增强公众认知度和信任度等方面都有重要作用。以下是媒体邀约专访的一…

java生成水印图片

直接上代码&#xff1a; package com.hx.manage;import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException;/*** 管理端API-应用启动类** author EastHill*/ public class Main {public stat…

机器学习 - PyTorch使用流程

通常的 PyTorch Workflow 是这样的. But the workflow steps can be repeated and changed depending on the problem you’re working on. Get data ready (turn into tensors)Build or pick a pretrained model to suit your problem 2.1 Pick a loss function & optimi…

第1章 初识 Python 背记手册

1、print()—输出 print()函数的基本用法如下&#xff1a; print("输出的内容")其中&#xff0c;输出内容可以是数字和字符串&#xff08;使用引号括起来&#xff09;&#xff0c;此类内容将直接输出&#xff0c;也 可 以是包含运算符的表达式&#xff0c;此类内容…

彻底学会系列:一、机器学习之梯度下降(2)

1 梯度具体是怎么下降的&#xff1f; ∂ J ( θ ) ∂ θ \frac{\partial J (\theta )}{\partial \theta} ∂θ∂J(θ)​&#xff08;损失函数&#xff1a;用来衡量模型预测值与真实值之间差异的函数&#xff09; 对损失函数求导&#xff0c;与学习率相乘&#xff0c;按梯度反方…

马斯克AI大模型Grok开源了!

2024年3月18日&#xff0c;马斯克的AI创企xAI兑现承诺&#xff0c;正式发布了此前备受期待大模型Grok-1。 代码和模型权重已上线GitHub: https://github.com/xai-org/grok-1 截止目前&#xff0c;Grok已经在GitHub上获得了35.2k颗Star&#xff0c;还在不断上升中。 Grok官方博…

yolov9目标检测可视化图形界面GUI源码

该系统是由微智启软件工作室基于yolov9pyside6开发的目标检测可视化界面系统 运行环境&#xff1a; window python3.8 安装依赖后&#xff0c;运行源码目录下的wzq.py启动 程序提供了ui源文件&#xff0c;可以拖动到Qt编辑器修改样式&#xff0c;然后通过pyside6把ui转成python…

【11】工程化

一、为什么需要模块化 当前端工程到达一定规模后,就会出现下面的问题: 全局变量污染 依赖混乱 上面的问题,共同导致了代码文件难以细分 模块化就是为了解决上面两个问题出现的 模块化出现后,我们就可以把臃肿的代码细分到各个小文件中,便于后期维护管理 前端模块化标准…

Cookie、Session、Token详解及基于JWT的Token实现的用户登陆身份认证

目录 前置知识 Cookie 什么是Cookie Cookie的作用 Cookie的声命周期 Session 什么是Session 服务集群下Session存在的问题 集群模式下Session无法共享问题的解决 Cookie和Session的对比 Token 什么是Token 为什么产生Token 基于JWT的Token认证机制 Token的优势 …

第112讲:Mycat实践指南:字符串Hash算法分片下的水平分表详解

文章目录 1.字符串Hash算法分片的概念1.1.字符串Hash算法的概念1.2.字符串Hash算法是如何将数据路由到分片节点的 2.使用字符串Hash算法分片对某张表进行水平拆分2.1.在所有的分片节点中创建表结构2.2.配置Mycat实现字符串Hash算法分片的水平分表2.2.1.配置Schema配置文件2.2.2…