Leetcode 3566. Partition Array into Two Equal Product Subsets

  • Leetcode 3566. Partition Array into Two Equal Product Subsets
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3566. Partition Array into Two Equal Product Subsets

1. 解题思路

这一题我的实现还是比较暴力的,首先显而易见的,若要满足题目要求,则给出的数组的所有元素的乘积必然是target的平方,因此,我们可以快速由此判断该数组是否可分。

然后,在满足上述条件的前提下,我们就是要找到若干个元素使之乘积恰好为target,这个的话我们可以通过一个动态规划进行实现。

2. 代码实现

给出python代码实现如下:

class Solution:def checkEqualPartitions(self, nums: List[int], target: int) -> bool:prod = 1for num in nums:prod *= numif prod != target * target:return Falsen = len(nums)@lru_cache(None)def dp(idx, tgt):if tgt == 1:return Trueif idx >= n:return Falseif tgt % nums[idx] == 0:return dp(idx+1, tgt) or dp(idx+1, tgt // nums[idx])else:return dp(idx+1, tgt)return dp(0, target)

提交代码评测得到:耗时7ms,占用内存18.5MB。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

waitpid的waitstatus 含义源码解读

当我们在调用pid_t waitpid(pid_t pid, int *stat_loc, int options)时,其中第二个参数stat_loc会提供子进程退出的详细信息,为此posix还提供了一组宏来解析这个status. 在\glibc\bits\waitstatus.h /* If WIFEXITED(STATUS), the low-order 8 bits of …

MATLAB实战:传染病模型仿真实现

以下是一个使用MATLAB实现传染病模型(SIR和SEIR)仿真的完整解决方案,包含参数分析和干预措施模拟: %% 传染病模型仿真工具箱 % 包含SIR、SEIR模型,支持参数调整和干预措施模拟 % 使用ode45求解微分方程 function epi…

系统架构设计师(一):计算机系统基础知识

系统架构设计师(一):计算机系统基础知识 引言计算机系统概述计算机硬件处理器处理器指令集常见处理器 存储器总线总线性能指标总线分类按照总线在计算机中所处的位置划分按照连接方式分类按照功能分类 接口接口分类 计算机软件文件系统文件类…

汽车安全:功能安全FuSa、预期功能安全SOTIF与网络安全Cybersecurity 解析

汽车安全的三重防线:深入解析FuSa、SOTIF与网络安全技术 现代汽车已成为装有数千个传感器的移动计算机,安全挑战比传统车辆复杂百倍。 随着汽车智能化、网联化飞速发展,汽车电子电气架构已从简单的分布式控制系统演变为复杂的移动计算平台。现…

GitHub 趋势日报 (2025年05月31日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 1153 prompt-eng-interactive-tutorial 509 BillionMail 435 ai-agents-for-begin…

飞腾D2000与FPGA结合的主板

UD VPX-404是基于高速模拟/数字采集回放、FPGA信号实时处理、CPU主控、高速SSD实时存储架构开发的一款高度集成的信号处理组合模块,采用6U VPX架构,模块装上外壳即为独立整机,方便用户二次开发。 UD VPX-404模块的国产率可达到100%&#xff0…

前端面经 协商缓存和强缓存

HHTTPTTP缓存 协商缓存和强缓存 核心区别是否向服务器发起请求验证资源过期 强缓存 浏览器直接读取本地缓存,不发请求 HTTP响应头 Cache-Control:max-age3600资源有效期 Expires优先级低 如果有效浏览器返回200(浏览器换伪造的200) 应用静态资源 协商缓存 OK如果 1强缓…

【NLP 78、手搓Transformer模型结构】

你以为走不出的淤泥,也迟早会云淡风轻 —— 25.5.31 引言 ——《Attention is all you need》 《Attention is all you need》这篇论文可以说是自然语言处理领域的一座里程碑,它提出的 Transformer 结构带来了一场技术革命。 研究背景与目标 在 Transfo…

Baklib内容中台革新企业知识实践

Baklib智能知识中枢构建 作为现代企业知识管理的核心架构,Baklib内容中台通过整合多源异构数据形成智能化知识中枢,实现从信息采集到价值转化的全链路管理。其底层采用跨平台数据贯通技术,支持API接口与企业现有CRM、ERP系统无缝对接&#x…

【前端】SPA v.s. MPA

链接:页面结构 误区 页面结构管理有两种常见方式:路由形式 和 组件形式。路由形式 对应MPA ,组件形式对应SPA ❌ 误区 1:路由形式 MPA❌ 路由是 SPA 和 MPA 共有的概念,区别在于路由映射的对象: MPA 的…

在Ubuntu20.04上安装ROS Noetic

本章教程,主要记录在Ubuntu20.04上安装ROS Noetic。 一、添加软件源 sudo sh -c . /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list二、设置秘钥 …

基于粒子滤波的PSK信号解调实现

基于粒子滤波的PSK信号解调实现 一、引言 相移键控(PSK)是数字通信中广泛应用的调制技术。在非高斯噪声和动态相位偏移环境下,传统锁相环(PLL)性能受限。粒子滤波(Particle Filter)作为一种序列蒙特卡洛方法,能有效处理非线性/非高斯系统的状态估计问题。本文将详细阐…