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

电子商务网站网站建设国外网站排名前十

电子商务网站网站建设,国外网站排名前十,如何做网站关键词词霸,书签制作 小学生的手工书签题目链接:238. 除自身以外数组的乘积 - 力扣(LeetCode) 238. 除自身以外数组的乘积|数组系列 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 …

题目链接:238. 除自身以外数组的乘积 - 力扣(LeetCode)

238. 除自身以外数组的乘积|数组系列

给你一个整数数组 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]

解题思路:

题目中给出前缀和后缀的乘积 那该题十有八九就和前缀后缀有关 

题意给出的输出[24,12,8,6] 可以拆分为 [1*2*3*4, 1*3*4 ,1*2*4, 1*2*3]

再整理一下 [2*3*4, 1*3*4 ,1*2*4, 1*2*3] 可以看出是除去本身数字来实现 

所以可以先计算前缀乘积 [1, 1*1, 1*1*2, 1*1*2*3] = [1,1,2,6]

后缀乘积[2*3*4,3*4,4,1] = [24,12,4,1]

那么 前后缀乘积相乘就是所求输出 [24,12,8,6]

Java代码:

class soul{public int[] productExceptSelf(int[] nums){if(nums == null || nums.length == 0){//剪枝return null;}int n = nums.length;int[] arr1 = new int[n];int left = 1;//确定前缀和for (int i = 0; i < n; i++) {if(i > 0){//防止边界left = left * nums[i - 1];//更新前缀和 前缀和 需要 i - 1}arr1[i] = left;//确定初始值 以及保存后续前缀和值}int right = 1;for (int i = n - 1; i >= 0; i--) { // 写错了i++if(i < n - 1){//防止边界介入right = right * nums[i + 1];//确定后缀和 后缀和 需要i + 1 }arr1[i] = arr1[i] * right;//这里其实省去了存储后缀和的步骤 直接相乘得到最终结果}return arr1;//返回结果}
}

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

相关文章:

  • 新疆建设园林网站百度seo关键词排名
  • 银川建立网站百度网站首页网址
  • 做网站做百度竞价赚钱全球搜钻是什么公司
  • 塘厦企业网站推广公司济南百度推广公司电话
  • 网站建设技术包括哪些链网
  • 珠海门户网站建设报价seo千享科技
  • 旅游网页设计模板网站推广公司运营模式
  • 政府网站平台建设乐陵seo外包
  • 赤峰北京网站建设四川最好的网络优化公司
  • 广东省建设局网站衡阳seo排名
  • 合肥知名建站公司如何seo推广
  • 外贸机械网站建设南昌网站开发公司
  • 四川城乡住房城乡建设厅网站竞价推广培训课程
  • 信息发布网站模板下载网络营销这个专业怎么样
  • 南京网站设计网站建设如何在百度上开店铺
  • 网站标题用空格 逗号影响seo百度主页网址
  • 网站建设中网页代码临沂百度推广的电话
  • 哈尔滨市做网站百度极速版
  • 云浮新兴县做网站怎样创建一个自己的网站
  • 网站的域名是什么意思黄页
  • xp 做网站服务器seo标签优化
  • 中国做外国网购的网站湖南今日新闻最新头条
  • 网站图片上的分享怎么做今日最新国际新闻
  • 潍坊网站建设策划方案阿里指数查询入口
  • 网站开发于制作总结推广普通话内容
  • 网站编辑信息怎么做免费刷推广链接的软件
  • 东营新闻网站推广优化的公司
  • 如何制作钓鱼网站谷歌seo实战教程
  • 白云区建材网站建设市场推广和销售的区别
  • 东莞建英文网站的公司惠州抖音seo