[LeetCode] 238. Product of Array Except Self

news/2024/10/6 3:24:05/文章来源:https://www.cnblogs.com/alfredsun/p/18288825

坑真的很多,首先要处理全零reduce没有值typeerror的问题。

class Solution:def productExceptSelf(self, nums: List[int]) -> List[int]:total=reduce(mul, nums)ret =[]if total == 0:try:total = reduce(mul, [x for x in nums if x != 0]) except TypeError:#default value for all element is 0total = 0ret = [total if x==0 else 0 for x in nums]else:ret = [total// x for x in nums]return ret

然后发现如果零大于1个,必然返回全零list,改造一下。

class Solution:def productExceptSelf(self, nums: List[int]) -> List[int]:# 0>1 return 0if nums.count(0) > 1:return [0 for x in nums]#elsetotal=reduce(mul, nums)ret =[]if total == 0:total = reduce(mul, [x for x in nums if x != 0])ret = [total if x==0 else 0 for x in nums]else:ret = [total// x for x in nums]return ret

错了两次,不过结果还不错

image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/739906.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

灰色预测代码的讲解

本章通过一个例题,来讲解灰色预测代码。由于笔者只是以学习者的身份,以做笔记为目的写这篇博客,因此欢迎大家学习交流,代码(非本人所写)会附在最后面 目录一、总述————如何处理预测题目?1.画出时序图,分析趋势2.检验与比较模型————训练与试验3.得出结论————…

CRT工具

CRT工具 传输位置设置打开SFTP alt + p 命令 ls:远程机器当前目录内容 lls:传输位置文件的目录内容 pwd:远程机器的当前位置 lpwd:传输位置的位置 get 文件:ftp传输文件 get -r 文件夹:ftp传输文件夹 put 文件:ftp传输文件 put -r 文件夹:ftp传输文件夹 lrm -rf 文件/文…

硬件开发笔记(二十三):贴片电阻的类别、封装介绍,AD21导入贴片电阻原理图封装库3D模型

前言电阻,电容,电感还有各种基础的电子元器件、连接器和IC构成了各种实现功能的电子电路。  本篇介绍贴片电阻,并将贴片电阻封装导入AD21,预览其三维模型。 贴片电阻贴片电阻(SMD Resistor)作为一种不可或缺的电子元件,广泛应用于各种电路和设备中。其体积小、重量轻、…

EtherCAT转Profinet网关配置说明第三讲:博图配置

XD-ECPNS20网关模块实现EtherCAT与Profinet协议转换设备,简化工业控制系统建设与维护。EtherCAT协议转Profinet协议网关模块是实现EtherCAT协议和Profinet协议之间无缝通讯的重要设备。使EtherCAT协议和Profinet协议能够相互转换,进行工控自动化里的互连和传送数据。EtherCAT…

第一周学习报告

在第一周,对Java进行初步了解,学习了Java的一些基础知识。学习主要参考于B站上的黑马程序员,以下为这周的学习报告 day1 打开CMD 1.win+r 2.输入CMD常见的CMD命令 1.盘符名称+冒号 盘符切换 2.dir 查看当前路径下的内容 3.cd目录 进入单级目录 4.cd .. 回退到上一级目录 5.c…

Linux 提权-SUID/SGID_2

本文通过 Google 翻译 SUID | SGID Part-2 – Linux Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充。导航0 前言 1 上文回顾 2 枚举自定义 SUID 二进制文件 3 利用 SUID 二进制文件 – 共享对象注入3.1 使用 Strings …

配置与管理squid代理服务器

应用背景如下图所示, 公司用squid作代理服务器,代理服务器内网IP地址为192.168.200.1,外网IP为192.168.200.3公司内网所用IP地址段为192.168.200.0/24,并且想用8080作为代理端口。1: 配置非透明代理 1.1 、配置主机网络 准备三台Linux主机,第一台为外网主机名为www,网卡…

RedHat7.4—配置常规网络

配置主机名 把主机名修改为hyborn 方法一、使用nmtui修改主机名 需要管理员权限运行su -root输入root密码后进入管理员模式 运行nmtui通过上下左右选择菜单栏回车选择,进入设置系统名即可设置确定后退出 运行hostnamectl status 命令查看主机名,查看到的主机名,即可以看到St…

RedHat7.4—配置远程管理Linux服务器

公司的Linux服务器需24小时不间断工作,维护工程师希望通过设置能远程管理和维护服务器。要求通过SSH及VNC远程管理,实现如下配置需求:可以通过SSH服务访问远程主机,可以使用证书登录远程主机,不需要输入远程主机的用户名和密码 可以使用VNC服务访问远程主机,使用图形界面…

Ping 不通 虚拟机

Ping 不通虚拟机 更换位置后,IP不会动态变化,切换网络配置信息来解决

Yet Another Permutation Constructive

这道题目不用写,因为必须要求用kotlin语言 讲一下我做这道题目的过程 我最开始正着想,如果\(k\)比较大的话,我们就想一次删的数少一点,所以考虑一次操作有哪些数被保留,于是我们发现,原序列的极大值点会被保留,于是一次操作被保留的数最多的情况就是如下的波浪形:然后我…

ComfyUI进阶篇:ComfyUI核心节点(三)

ComfyUI核心节点(三)前言:学习ComfyUI是一场持久战。当你掌握了ComfyUI的安装和运行之后,会发现大量五花八门的节点。面对各种各样的工作流和复杂的节点种类,可能会让人感到不知所措。在这篇文章中,我们将用通俗易懂的语言对ComfyUI的核心节点进行系统梳理,并详细解释每…