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

Python | Leetcode Python题解之第494题目标和

题目:

题解:

class Solution:def findTargetSumWays(self, nums: List[int], target: int) -> int:cache = {}      # 记忆化单元# @functools.cache  # Python functools自带记忆化单元【启用后可省去自定义cache单元】def dfs(i, summ, t):'''summ: 前i个元素的表达式之和; t: 目标值'''if (i, summ) in cache:          # 记忆化:已存在,直接返回return cache[(i, summ)]if i == len(nums):              # 遍历完了全部的元素,递归中止if summ == t:               # 找到了一个满足要求的组合cache[(i, summ)] = 1else:cache[(i, summ)] = 0return cache[(i, summ)]pos_cnt = dfs(i+1, summ + nums[i], t)       # nums[i]前面添加'+'号neg_cnt = dfs(i+1, summ - nums[i], t)       # nums[i]前面添加'-'号cache[(i, summ)] = pos_cnt + neg_cnt        # 以上两种情况的组合数之和return cache[(i, summ)]return dfs(0, 0, target)

http://www.mrgr.cn/news/54281.html

相关文章:

  • Vue+TypeScript+SpringBoot的WebSocket基础教学
  • VTK的学习方法-第一类型应用
  • C++ 异步执行任务async()(补充)
  • 从0开始深度学习(11)——多层感知机
  • <项目代码>YOLOv8路面病害识别<目标检测>
  • 礼想视界,期待与您携手共创影视未来!
  • 基于模型设计的智能平衡移动机器人-基础实验eCAP
  • MySQL-21.多表设计-案例-关系分析-表结构
  • 【双指针算法】快乐数
  • java语法练习-题目
  • 【最优化方法】线搜索技术
  • 【C++】C++当中的复合类型——引用和指针
  • 【ARM】ARM中断系统详解——以Cortex-A7为例
  • 大模型涌现判定
  • 数据结构-5.11.补充:二叉树遍历算法的应用
  • 分布式搜索引擎03
  • 【AUTOSAR标准文档】服务类型介绍
  • 2023年ICPC亚洲合肥赛区赛 C. Cyclic Substrings
  • 【H2O2|全栈】关于CSS(14)如何完成常规的页面布局
  • 基于机器学习的混凝土抗压强度及利用Docker与FastAPI进行模型部署并形成API
  • 鸿蒙应用开发中,实现文件上传功能
  • 查询网站在线人数
  • Python基础09_类和对象(下)迭代器和生成器函数式编程
  • UEFI 基础教程 (四十八.2) — UEFI code style
  • org.apache.http.impl.client.CloseableHttpClient的时候如果发生异常
  • 《使用Gin框架构建分布式应用》阅读笔记:p88-p100