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

java可以做微信网站么网站首页排名

java可以做微信网站么,网站首页排名,办公室门户网站建设和管理工作,品牌建设案例给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。
题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。
不要使用除法,且在 O(n) 时间复杂度内完成此题。

示例 1:
输入: nums = [1,2,3,4]
输出: [24,12,8,6]

示例 2:
输入: nums = [-1,1,0,-3,3]
输出: [0,0,9,0,0]

提示:
2 <= nums.length <= 10 5 10^5 105
-30 <= nums[i] <= 30
输入 保证 数组 answer[i] 在 32 位 整数范围内


知识点:
数组、前缀乘积、后缀乘积


解1(优化前):
核心思想:用两个额外的辅助数组,存储每个位置的前缀乘积、后缀乘积。得到这两个数组后,遍历每个位置,结果值=当前位置的前缀乘积*当前位置的后缀乘积

辅助数组的初始值,需要设为1,因为计算的是乘积,而不是和。

时间复杂度: O ( n ) O(n) O(n)。每个for循环均最多遍历1次数组。
空间复杂度: O ( n ) O(n) O(n)。使用了两个辅助数组(题目说了分析空间复杂度时,不考虑输出数组)

class Solution {public int[] productExceptSelf(int[] nums) {//获取数组大小int n = nums.length;//定义结果数组int[] answer = new int[n];//定义辅助数组,存储前缀乘积、后缀乘积int[] pre = new int[n];int[] suf = new int[n];//辅助数组设置初始值(因为是乘积,所以是1)pre[0] = 1;suf[n - 1] = 1;//计算每个位置的前缀乘积for (int i = 1; i < n; i++) {pre[i] = pre[i - 1] * nums[i - 1];}//计算每个位置的后缀乘积for (int i = n - 2; i >= 0; i--) {suf[i] = suf[i + 1] * nums[i + 1];}//遍历每个元素,计算当前位置的结果值for (int i = 0; i < n; i++) {answer[i] = pre[i] * suf[i];}return answer;}
}

解2(优化后):
核心思想:
①先计算每个位置的后缀乘积
②然后在遍历每个元素的同时,将用变量(而非数组,这里就是优化的地方)代表的前缀乘积乘到后缀乘积中
③然后再更新前缀乘积,该前缀乘积用于下个位置的判断(这样说方便理解)
由于输出数组不在空间复杂度的考虑中,因此这里的后缀数组就是最终返回的输出数组。

时间复杂度: O ( n ) O(n) O(n)
空间复杂度: O ( 1 ) O(1) O(1)。没有用额外的辅助数组。

class Solution {public int[] productExceptSelf(int[] nums) {//获取数组大小int n = nums.length;//定义数组存储后缀乘积,并作为最后输出的结果数组int[] suf = new int[n];//数组设置初始值(因为是乘积,所以是1)suf[n - 1] = 1;//计算每个位置的后缀乘积for (int i = n - 2; i >= 0; i--) {suf[i] = suf[i + 1] * nums[i + 1];}//遍历每个元素,边计算前缀乘积,边计算当前位置的结果值int pre = 1;for (int i = 0; i < n; i++) {//结果值=前缀乘积*后缀乘积,此时已有每个位置的后缀乘积,从而得到结果值suf[i] *= pre;//计算前缀乘积,用于下一个位置的判断pre *= nums[i];}return suf;}
}

参考:
1、灵神解析

http://www.dtcms.com/wzjs/15521.html

相关文章:

  • 教学资源系统网站建设方案百度网盘资源分享
  • 网站建设分工的通知seo网络推广企业
  • 建自己的网站培训机构退费法律规定
  • 爱战网关键词查询网站怎么做网站赚钱
  • 把做的网站放到互联网上产品如何做线上推广
  • 免费正版高清图片素材库网站seo关键词设置
  • 网站开发所需费用明细百度网址大全 官网
  • 成考做那个网站的题比较好神马搜索seo优化排名
  • wordpress 清除cookie厦门百度快速优化排名
  • 做学科竞赛的网站优化排名推广技术网站
  • 网站301跳转有坏处吗个人如何在百度上做广告
  • 网站开发的背景与环境重庆百度推广电话
  • wordpress邮件发送功能无法开启优化网站推广排名
  • 做外贸的国际网站有哪些最新nba排名
  • 网站建设教程出售用苏州久远网络淄博网站营销与推广
  • 童装网站建设日程表广州软文推广公司
  • jsp网站入门什么是营销型网站?
  • 领地网建的网站怎么做网络销售
  • 网站公安备案增加开办主体seo关键词优化外包公司
  • 美丽乡村 村级网站建设企业软文营销
  • 网站做服装那个平台好一点推广优化排名
  • 购物网站的建设毕业论文关键词排名查询
  • 公司的网站做备案我是网站负责人如果离职以后要不要负法律责任网络营销策划的目的
  • 重庆网站建设公司多少钱女生做sem专员的工作难吗
  • h网站开发百度关键词排名突然下降很多
  • 做演示的网站指数基金有哪些
  • 网站上做地图手机上显示深圳全网营销型网站
  • 合江网站建设网络市场调研的五个步骤
  • 西安建设和住房保障局网站济南seo排名优化推广
  • 山东网站建设工作室软文代写平台