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

力扣动态规划-25【算法学习day.119】

前言

###我做这类文章一个重要的目的还是记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.分割等和子集

题目链接:416. 分割等和子集 - 力扣(LeetCode)

题面:

代码:

class Solution {
    public boolean canPartition(int[] nums) {
        int sum = 0;
        int n = 0;
        for(int a:nums){
            n++;
            sum+=a;
        }
        if(sum%2==1){
            return false;
        }
        int[][] f = new int[n+1][sum+1];
        Arrays.fill(f[0],-1);
        f[0][0] = 0;
        for(int i = 1;i<=n;i++){
            System.arraycopy(f[i - 1], 0, f[i], 0, sum + 1);
            for(int j = nums[i-1];j<=sum;j++){
                if (f[i - 1][j - nums[i-1]] < 0) {
                    continue;
                }
                f[i][j] = Math.max(f[i][j], f[i - 1][j - nums[i-1]] + 1);
            }
        }
        return f[n][sum/2]>0;

    }
}

后言

上面是动态规划相关的习题,共勉

 

 


http://www.kler.cn/a/539840.html

相关文章:

  • 使用sunshine和moonlight串流时的音频输出问题
  • 具身智能学习规划
  • 黑马React保姆级(PPT+笔记)
  • 【AIGC】语言模型的发展历程:从统计方法到大规模预训练模型的演化
  • 算法篇——动态规划
  • 实验5 配置OSPFv2验证
  • Versal - Petalinux 2024.2(下载与安装+VD100+安装JupyterLab+SD卡分区+SDT流程)
  • 机器学习数学公式推导笔记
  • 2025清华:DeepSeek从入门到精通.pdf(附下载)
  • vscode中使用code-runner插件运行c程序语法报错code: 1
  • MyBatis的工作流程是怎样的?
  • Spring Boot Actuator使用
  • AI时代医疗大健康微服务编程提升路径和具体架构设计
  • C++11详解(四) -- 新的类功能和包装器
  • GIT创建子模块(submodule)
  • 【共享文件夹】使用Samba服务可在Ubuntu和Windows系统之间共享一个实际的文件夹
  • 告别人工检测!casaim自动化三维激光扫描
  • sqlite 查看表结构
  • Python Pandas(3):DataFrame
  • MATLAB | 基于Theil-Sen斜率和Mann-Kendall检验的栅格数据趋势分析
  • xinference 安装(http导致错误解决)
  • 安全行业大模型SecLLM技术白皮书
  • Linux内核中的软中断与NAPI机制:高效处理网络数据包
  • PostgreSQL SQL优化用兵法,优化后提高 140倍速度
  • 快速上手Vim的使用
  • U3D支持webgpu阅读