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

第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]

提示:

  • 2 <= nums.length <= 105
  • -30 <= nums[i] <= 30
  • 输入 保证 数组 answer[i] 在  32 位 整数范围内

思路

除自身以外数组的乘积公式:   数组各个数的乘积 / 数组中当前遍历的值
分为三种情况
数组中有两个或两个以上的0值,整体下来结果都为0
数组中有一个0值,这个0值的位置有数,其他地方都为0
数组中全部数据都不为0,此时正常计算每个数组位置

代码示例

import java.util.*;public class lc238 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);String strs = scan.nextLine();String[] split = strs.substring(1, strs.length() - 1).split(",");int[] nums = new int[split.length];for (int i = 0; i < split.length; i++) {nums[i] = Integer.parseInt(split[i]);}lc238 lc = new lc238();int[] ints = lc.productExceptSelf(nums);System.out.println(Arrays.toString(ints));}public int[] productExceptSelf(int[] nums) {//统计当前数组中0的个数和对应0的位置,并求出整个数组中数的乘积int zero = 0,index = 0, sum = 1;for (int i = 0; i < nums.length; i++) {if(nums[i] == 0){zero++;index = i;}sum *= nums[i];}//分为三种情况int[] res = new int[nums.length];//数组中有两个或两个以上的0值,整体下来结果都为0if(zero >= 2){return res;//数组中有一个0值,这个0值的位置有数,其他地方都为0}else if(zero == 1){int temp = 1;for(int i = 0; i < nums.length; i++){if(i == index){continue;}temp *= nums[i];}res[index] = temp;return res;//数组中全部数据都不为0,此时正常计算每个数组位置}else {for(int i = 0; i < nums.length; i++){res[i] = sum / nums[i];}return res;}}
}

http://www.dtcms.com/a/549416.html

相关文章:

  • Vue 状态管理库相关收录
  • CG-5重力仪外壳漏电怎么办?
  • 商务网站规划与建设课设的项目需求seo网站有优化培训吗
  • 从 VLDB‘25 看向量数据库发展方向:行业观察与技术前瞻
  • 生鲜电商企业微信私域代运营:从去中心化运营看微盛AI·企微管家SCRM适配案例
  • 企业微信如何正确营销获客?精准定位与场景触达的实践框架
  • 企业微信私有化服务商怎么选?从数据安全与定制化需求看适配方向
  • 【百度AI】Postman调用OCR服务-解决官方教程请求失败问题
  • 【RabbitMQ】消息队列·详解+实操演示+功能实现(微服务架构)
  • 视频网站制作wordpress博客费用
  • 第三方编辑网站怎么做怎么查自己专业是否符合一建
  • spring boot入门篇之开发环境搭建
  • 代码随想录刷题——栈和队列篇(总结)
  • 让数据库“听懂“人话:Text2Sql.Net 深度技术解析
  • STC32G12K128 串口3中断模式与电脑收发不定长数据-软件超时
  • 网站开发 财务自由建设工程施工合同司法解释2021
  • 转型挑战:情绪与行动的循环
  • Polarctf 简单rce
  • CCUT应用OJ——小龙的字符串函数
  • 突飞猛进的AI时代(01)
  • 网站设计的重要性怎么运行wordpress
  • 如何实现快速批量裁剪处理3000+图片
  • 项目管理系统排行:Top15工具选型指南
  • 整数MCU实现FOC控制:深度解析与优化实践
  • Rust 自定义迭代器深度解析:从 next 方法到零成本抽象
  • 日常学习--ICP资产批量查询工具
  • 解决 Node.js 启动报错:digital envelope routines 错误全记录
  • 油猴脚本开发解释
  • 招远网站建设哪家好h5网页制作素材
  • 有没有做任务给钱的网站自己做的网站搜索不到