首页 > 其他分享 >动态规划-leetcode-494

动态规划-leetcode-494

时间:2023-03-07 15:31:35浏览次数:40  
标签:nums int sum 算法 数组 494 动态 leetcode dp


​​0️⃣python数据结构与算法学习路线​​ 学习内容:

  • 基本算法:枚举、排序、搜索、递归、分治、优先搜索、贪心、双指针、动态规划等…
  • 数据结构:字符串(string)、列表(list)、元组(tuple)、字典(dictionary)、集合(set)、数组、队列、栈、树、图、堆等…

题目:

给定一个非负整数数组,a1, a2, …, an, 和一个目标数,S。现在你有两个符号 + 和 -。对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面。
返回可以使最终数组和为目标数 S 的所有添加符号的方法数。

输入输出:

输入:nums: [1, 1, 1, 1, 1], S: 3
输出:5
解释:
-1+1+1+1+1 = 3
+1-1+1+1+1 = 3
+1+1-1+1+1 = 3
+1+1+1-1+1 = 3
+1+1+1+1-1 = 3
一共有5种方法让最终目标和为3。

解题思路:

动态规划-leetcode-494_数据结构

算法实现:

class Solution:
def findTargetSumWays(self, nums: List[int], S: int) -> int:
nums_sum = sum(nums)
if (S + nums_sum) % 2 == 1 or S > nums_sum:
return 0
nums_sum = (S + nums_sum) // 2
dp = [0 for _ in range(nums_sum + 1)]
dp[0] = 1
for n in nums:
for i in range(nums_sum, n - 1, -1):
dp[i] += dp[i - n]
return dp[nums_sum]

出现问题:

没想到(S + nums_sum) % 2


标签:nums,int,sum,算法,数组,494,动态,leetcode,dp
From: https://blog.51cto.com/u_15995006/6106170

相关文章

  • 【队列】LeetCode 1429. 第一个唯一数字
    题目链接1429.第一个唯一数字给定一系列整数,插入一个队列中,找出队列中第一个唯一整数。实现FirstUnique类:FirstUnique(int[]nums)用数组里的数字初始化队列。in......
  • 每日一题10_动态规划
    题目:70.爬楼梯思路:转移方程:斐波那契数列代码:classSolution{publicintclimbStairs(intn){//a[n]=a[n-1]+a[n-2],a1=1,a2=2;关键retur......
  • 【二分查找】LeetCode 4. 寻找两个正序数组的中位数
    题目链接4.寻找两个正序数组的中位数思路分治代码classSolution{publicdoublefindMedianSortedArrays(int[]nums1,int[]nums2){if(nums1.len......
  • MyBatis 动态SQL标签汇总
    if标签<selectid="getEmpByCondition"resultType="com.xy.mybatis.dynamic.pojo.Emp">select*fromempwhere1=1<iftest="name!=''andname!=......
  • LEETCODE 1096. 花括号展开 II
    这个题把题目中的表达式并列关系看做是求和,把相接看做是求积,那么求解整个表达式的过程可以类比于求解中缀表达式的过程。然后利用两个栈一个存运算符,一个存运算对象classSo......
  • 车载摄像头ISP实现宽动态HDR
     摄像头ISP的关键信号处理其实前面学习了图像和色彩相关内容,我们可以知道,ISP需要处理的内容还蛮多的,我们最常见的就是畸变校正,白平衡,去噪声、空间转换、WDR合成宽动态......
  • LeetCode1024 -- 贪心
    1.题目描述这题题意感觉说的不是很清楚,容易让人产生歧义!其实题意很简单,给你一个链表head,你深拷贝它,然后返回即可,注意不能修改原链表/*//DefinitionforaNode.cl......
  • #yyds干货盘点# LeetCode面试题:组合总和 II
    1.简述:给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只......
  • Atcoder-ABC291 "Teleporter and Closed off" 动态DP版
    题目地址题意:在一个DAG图中,点i只有最多m条出边连向i+1~i+m(m<=10),边权均为1。对于\(k\in[2,n-1]\),依次输出当点k被删除时1到n的最短路。分析:标准做法无非就是预......
  • 动态树(Link Cut Tree)
    动态树(LinkCutTree)简介Link/CutTree是一种数据结构,我们用它来解决动态树问题。Link/CutTree又称\(Link-CutTree\),简称\(LCT\),但它不叫动态树,动态树是指一类问......