当前位置: 首页 > news >正文

融水苗族自治县网站建设公司甘肃网站推广

融水苗族自治县网站建设公司,甘肃网站推广,渭南网站建设电话,哪里有网站建设工程题目描述给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。请 不要使用除法,且在 O(n) 时间…

题目描述

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。

题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在  32 位 整数范围内。

请 不要使用除法,且在 O(n) 时间复杂度内完成此题。

题目解法

解决方案使用了两个循环:

  1. 第一个循环(从左到右):计算每个元素左侧所有元素的乘积,并存储在输出数组 ans 中。
    1. 初始化 ans[0] 为 1,因为第一个元素左侧没有元素。
    2. 对于 i 从 1 到 n-1,ans[i] = ans[i-1] * nums[i-1]。这意味着 ans[i] 存储了索引 i 左侧所有元素的乘积。
  2. 第二个循环(从右到左):计算每个元素右侧所有元素的乘积,并将其与左侧乘积相乘,得到最终结果。
    1. 初始化一个变量 r 为 1,用于累积右侧元素的乘积。
    2. 从最后一个元素开始遍历,对于每个索引 i,将 ans[i](当前左侧乘积)乘以 r(当前右侧乘积),然后更新 r 为 r * nums[i],以便为下一个元素(左侧)计算右侧乘积。这样,对于每个元素 i,ans[i] 最终等于左侧乘积乘以右侧乘积,即除自身外所有元素的乘积。
class Solution {public int[] productExceptSelf(int[] nums) {int n = nums.length;int[] ans = new int[n];ans[0] = 1;// ans[i] 表示索引 i 左侧所有元素的乘积for(int i = 1; i < n; i++) {ans[i] = ans[i - 1] * nums[i - 1];}// r 为右侧所有元素的乘积int r = 1;for (int i = n - 1; i >= 0; i--) {ans[i] = ans[i] * r;r *= nums[i];}return ans;}
}
http://www.dtcms.com/a/531022.html

相关文章:

  • 使用织梦系统建设网站教程百度服务商
  • 北京 设计网站福州设计网站建设
  • windows做的ppt下载网站it外包工作怎么样
  • 网站添加百度地图标注做公司官网要服务器吗
  • 企业网站导航设计腰椎间盘突出压迫神经腿疼怎么治锻炼
  • 南宁网站制作网络公司营销型网站建设排名
  • 网站举报平台建设情况加盟网站分页怎么做seo
  • wordpress网站主修改做任务什么网站
  • 网站备份查询学校网站建设的目的
  • 重庆网站制作招聘番禺免费核酸检测
  • 网络营销导向型企业网站建设的原则北京微信网站建设报价
  • 辽宁省交通投资建设集团网站网站制作绩效考核表
  • 沈阳网络平台推广公司织梦网站优化怎么做
  • 嘉兴企业网站模板建站天元建设集团有限公司济南分公司
  • 骨干专业群建设任务书网站如何用易语言做网站辅助
  • 网站的安全检查怎么做模板名字 wordpress
  • 怎么自己弄网站免费网络编辑培训学校
  • iis5.1 发布网站wordpress搞笑网站源码
  • 付费做网站关键词优化是怎么做的呀鲜花网站建设目的
  • 做二手车有哪些网站有哪些手续费企业网站开发毕业报告
  • 职业学校网站模板江阴房产网510房产网
  • 创建网站怎么创嘉兴市网站建设
  • 呼市网站开发昆明网站制作维护
  • 温江做网站网站seo优化心得
  • 青岛建站服务提高网站注册率
  • godday网站建设莱芜网上服务
  • 官方网站建设报价如何注册腾讯企业邮箱
  • 如何将网站部署到服务器网站建设与推广公司
  • 陕西企业网站建设网站logo怎么做的
  • 用照片做视频的网站wordpress 随机显示文章