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

【简单】不包含本位置值的累乘数组-Java:原问题

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程大家好!欢迎来到我的网站! 人工智能被认为是一种拯救世界、终结世界的技术。毋庸置疑,人工智能时代就要来临了,科… 继续阅读 前言https://www.captainai.net/troubleshooter

package live.every.day.ProgrammingDesign.CodingInterviewGuide.ArrayAndMatrix; import java.util.Arrays; /** * 不包含本位置值的累乘数组 * * 【题目】 * 给定一个整型数组arr,返回不包含本位置值的累乘数组。 * 例如,arr=[2,3,1,4],返回[12,8,24,6],即除自己外,其他位置上的累乘。 * * 【要求】 * 1.时间复杂度为O(N)。 * 2.除需要返回的结果数组外,额外空间复杂度为O(1)。 * * 【进阶题目】 * 对时间和空间复杂度的要求不变,而且不可以使用除法。 * * 【难度】 * 简单 * * 【解答】 * 先介绍可以使用除法的实现,结果数组记为res,所有数的乘积记为all。如果数组中不含0,则设置res[i]=all/arr[j](0<=i<n) * 即可。如果数组中有1个0,对唯一的arr[i]==0的位置令res[i]=all,其他位置上的值都是0即可。如果数组中0的数量大于1,那 * 么res所有位置上的值都是0。具体过程请参看如下代码中的product1方法。 * * @author Created by LiveEveryDay */ public class NotContainCurrentCumulativeProductArray1 { public static int[] product1(int[] arr) { if (arr == null || arr.length < 2) { return null; } int count = 0; int all = 1; for (int i = 0; i != arr.length; i++) { if (arr[i] != 0) { all *= arr[i]; } else { count++; } } int[] res = new int[arr.length]; if (count == 0) { for (int i = 0; i != arr.length; i++) { res[i] = all / arr[i]; } } if (count == 1) { for (int i = 0; i != arr.length; i++) { if (arr[i] == 0) { res[i] = all; } } } return res; } public static void main(String[] args) { int[] arr = {-4, 3, -2, 5, -7, 1, 6}; int[] res = product1(arr); System.out.printf("The array is: %s", Arrays.toString(res)); } } // ------ Output ------ /* The array is: [1260, -1680, 2520, -1008, 720, -5040, -840] */
http://www.jsqmd.com/news/839577/

相关文章:

  • YOLOv5目标检测全链路实战:从环境配置到模型部署
  • KMS_VL_ALL_AIO终极激活指南:3分钟免费激活Windows和Office的完整教程
  • 在 WSL 中下载安装 MySQL,连接到 SQLyog(MySQL 安装在 WSL vs Windows 本地对比)
  • 别再只用MATLAB了!用Mathematica 13.3/14.0做科研计算,这些隐藏技巧让你效率翻倍
  • 多表查询-2
  • 该选择哪种检索增强生成(RAG)方案?
  • 哈尔滨市道里区胜广建材:哈尔滨沙子出售哪家好 - LYL仔仔
  • 逆向工程深度解析:如何突破Cursor Pro的设备指纹与账户限制
  • Go语言WebSocket实时通信实战:构建高性能实时应用
  • 终极指南:MAA明日方舟助手全功能深度解析与实战应用
  • 民资服务中心加盟全流程技术拆解与合规落地指南 - 奔跑123
  • 【GPTs商店精选TOP10】:2024年实战验证的高转化、低门槛、强垂直ChatGPT智能体推荐清单
  • 桌面整理神器:NoFences让你的Windows桌面焕然一新 [特殊字符]
  • Taotoken模型广场如何帮助开发者快速选型
  • 3分钟搞定全网音乐歌词:163MusicLyrics免费工具完整指南
  • 构建之法阅读笔记 07
  • 从手机SoC到车载芯片:拆解AMBA总线在真实芯片中的三级架构设计与选型考量
  • Hackintool:黑苹果配置的瑞士军刀,15分钟解决三大核心难题
  • 别再手动调库了!用LabVIEW Crypto工具包搞定AES/RSA加密,附赠完整配置流程与PEM密钥管理技巧
  • 为Node.js后端服务配置Taotoken作为大模型统一接入层
  • 如何免费解锁Cursor AI Pro功能:终极三步激活指南
  • 固定电话号码认证:降低企业外呼成本的有效手段
  • 【英飞凌IFX TC3XX Mcal】AutoSAR Mcal PORT模块配置实战:从芯片手册到EB配置的完整指南
  • 3分钟学会跨平台资源下载工具,轻松保存微信视频号、抖音、小红书等全网资源!
  • NVIDIA Profile Inspector完整指南:解锁显卡隐藏设置,轻松优化游戏性能
  • 告别卡顿!用FFmpeg CUDA/NVENC在Windows上实现H.264视频硬件加速解码(附完整C++代码)
  • 量子计算中的稀疏矩阵与块编码技术解析
  • 嵌入式微服务架构实践:Luos引擎如何实现模块化与分布式通信
  • BiliTools终极指南:2026年最强大的免费哔哩哔哩下载工具
  • Pikachu 靶场 File Inclusion 实战:从本地渗透到远程控制