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

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.lryc.cn/news/2395501.html

相关文章:

  • yolo目标检测助手:具有模型预测、图像标注功能
  • 传统数据表设计与Prompt驱动设计的范式对比:以NBA投篮数据表为例
  • 2022 RoboCom 世界机器人开发者大赛(睿抗 caip) -高职组(国赛)解题报告 | 科学家
  • WIN11 Docker Desktop 安装问题解决
  • 网站服务器出现异常的原因是什么?
  • Python实例题:Python3实现图片转彩色字符
  • 同一机器下通过HTTP域名访问其他服务器进程返回504问题记录
  • 基于物联网(IoT)的电动汽车(EVs)智能诊断
  • JDBC+HTML+AJAX实现登陆和单表的CRUD
  • Leetcode 3568. Minimum Moves to Clean the Classroom
  • Kafka多线程Consumer
  • 从零开始的git学习
  • 【C++】位图详解(一文彻底搞懂位图的使用方法与底层原理)
  • Spring Boot 整合 JdbcTemplate,JdbcTemplate 与 MyBatis 的区别
  • sass基础语法
  • 【EF Core】 EF Core 批量操作的进化之路——从传统变更跟踪到无跟踪更新
  • [Go] Option选项设计模式 — — 编程方式基础入门
  • Vue 项目命名规范指南
  • 【笔记】开源通用人工智能代理 Suna 部署全流程准备清单(Windows 系统)
  • 海康工业相机SDK二次开发(VS+QT+海康SDK+C++)
  • 前端面试准备-5
  • Spring Boot 启动流程深度解析:从源码到实践
  • 深度学习|pytorch基本运算-乘除法和幂运算
  • 嵌入式通用集成电路卡市场潜力报告:物联网浪潮下的机遇与挑战剖析
  • 4.2.4 Spark SQL 数据写入模式
  • 论文笔记: Urban Region Embedding via Multi-View Contrastive Prediction
  • Android 缓存应用冻结器(Cached Apps Freezer)
  • 初学者如何微调大模型?从0到1详解
  • 西瓜书第十一章——降维与度量学习
  • Portainer安装指南:多节点监控的docker管理面板-家庭云计算专家