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

leetcode 238 除自身以外数组的乘积

一、题目描述

二、解题思路

(1)首先进行边界处理,如果数组为空,则返回空数组;

(2)变量mul用于计算除0以外所有数的乘积,count_zero用于记录数组中0的个数;

(3)填充ret向量:

如果nums[i]==0:

<1>count_zero==1,表示这个0为向量中唯一的0,所以ret[i]=mul;

<2>count_zero!=1,表示向量中还有其他的0,所以ret[i]=0;

如果nums[i]!=0:

<1>count_zero==0,表示向量中没有0,所以ret[i]=mul/nums[i];

<2>count_zero!=0,表示向量中有零,所以ret[i]=0;

三、代码实现

时间复杂度:T(n)=O(n)

空间复杂度:S(n)=O(1)

class Solution {
public:vector<int> productExceptSelf(vector<int>& nums) {vector<int> ret(nums.size());//边界处理if(nums.empty()) return {};int count_zero=0;//记录0的个数int mul=1;for(int i=0;i!=nums.size();i++){if(nums[i]!=0) mul*=nums[i];else count_zero++;}for(int i=0;i!=ret.size();i++){if(nums[i]==0){if(count_zero==1) ret[i]=mul;else ret[i]=0;}else if(nums[i]!=0){if(count_zero==0) ret[i]=mul/nums[i];else ret[i]=0;}}return ret;}
};

http://www.xdnf.cn/news/1365193.html

相关文章:

  • PHP学习笔记1
  • 基于MATLAB实现支持向量机(SVM)进行预测备
  • 数据结构青铜到王者第三话---ArrayList与顺序表(1)
  • 【数学·三角函数】两角和差公式 二倍角公式
  • idea官网选择具体版本的下载步骤
  • easy-dataset的安装
  • 【STM32】G030单片机的独立看门狗
  • 不止效率工具:AI 在文化创作中如何重构 “灵感逻辑”?
  • 《拉康精神分析学中的欲望辩证法:能指的拓扑学与主体的解构性重构》
  • 【科研绘图系列】R语言浮游植物生态数据的统计与可视化
  • [系统架构设计师]专业英语(二十二)
  • 系统架构设计师-计算机系统存储管理-页式、段氏、段页式模拟题
  • 探索量子计算的新前沿
  • 【Linux】timerfd和POSIX定时器(timer_create)
  • ASW3642 pin√pin替代TS3DV642方案,可使用原小板只需简单调整外围|ASW3642 HDMI二切一双向切换器方案
  • prepare_model_for_kbit_training()函数解析(56)
  • 解决getLocation获取当前的地理位置,报错:getLocation:fail auth deny及方法封装
  • 抖音多账号运营新范式:巨推AI如何解锁流量矩阵的商业密码
  • Unity中的特殊文件夹
  • Day60 Java面向对象15 abstract关键字详解
  • 物流架构实践:ZKmall开源商城物流接口对接与状态同步
  • 配置单区域 OSPF
  • 基于SpringBoot的招聘管理系统【2026最新】
  • Redis类型之List
  • 【慕伏白】CTFHub 技能树学习笔记 -- Web 之信息泄露
  • vue3+typescript:为表格生成唯一的Key/No
  • 集群与集群概念
  • 如何在 Jenkins 中安装 Master 和 Slave 节点以优化 CI/CD 流程
  • 【数据可视化-98】2025年上半年地方财政收入Top 20城市可视化分析:Python + Pyecharts打造炫酷暗黑主题大屏
  • 【数据可视化-100】使用 Pyecharts 绘制人口迁徙图:步骤与数据组织形式