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

力扣动态规划-2【算法学习day.96】

前言

###我做这类文章一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?建议灵神的题单和代码随想录)和记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.组合总和IV

题目链接:377. 组合总和 Ⅳ - 力扣(LeetCode)

题面:

记忆化搜索+递归:

class Solution {int[] nums;int[] flag;public int combinationSum4(int[] nums, int target) {this.nums = nums;flag = new int[target+1];Arrays.fill(flag,-1);return recursion(target);}public int recursion(int i){if(i==0)return 1;if(flag[i]!=-1)return flag[i];int sum  = 0;for(int a:nums){if(a<=i){sum+=recursion(i-a);}}return flag[i] = sum;}
}

递推:

class Solution {public int combinationSum4(int[] nums, int target) {int[] flag = new int[target+1];flag[0] = 1;for(int i = 1;i<=target;i++){for(int a:nums){if(a<=i){flag[i]+=flag[i-a];}}}return flag[target];}
}

 2.统计构造好字符串的方案数

题目链接:2466. 统计构造好字符串的方案数 - 力扣(LeetCode)

题面:

代码:

class Solution {public int countGoodStrings(int low, int high, int zero, int one) {int[] flag = new int[high+1];flag[0] = 1;int mod = (int)1e9+7;for(int i = 1;i<=high;i++){if(i>=zero){flag[i]=(flag[i-zero]+flag[i])%mod;}if(i>=one){flag[i]=(flag[i-one]+flag[i])%mod;}}int  ans = 0;for(int i = low;i<=high;i++){ans = ans+ flag[i];ans%=mod;}return ans;}
}

后言

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

 

相关文章:

力扣动态规划-2【算法学习day.96】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;建议灵神的题单和代码随想录&#xff09;和记录自己的学习过程&#xff0c;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关…...

软考高级5个资格、中级常考4个资格简介及难易程度排序

一、软考高级5个资格 01、网络规划设计师 资格简介&#xff1a;网络规划设计师要求考生具备全面的网络规划、设计、部署和管理能力&#xff1b;该资格考试适合那些在网络规划和设计方面具有较好理论基础和较丰富从业经验的人员参加。 02、系统分析师 资格简介&#xff1a;系统分…...

2.5 如何评估表示学习

如何评估表示学习 评估表示学习的质量和有效性是确保模型能够成功应用于实际任务的关键步骤。表示学习的目标是从数据中学习到一种有效的、低维的表示,使得下游任务(如分类、回归、聚类等)能够更好地执行。因此,评估表示学习的效果涉及多个维度,包括表示的质量、其对下游…...

Linux-day08

第17章 大数据定制篇-shell编程 shell编程快速入门 shell变量 设置环境变量 把行号打开 set nu 位置参数变量 预定义变量 在一个脚本中执行了另外一个脚本所以卡住了 CTRLC退出 运算符 operator运算符 条件判断 流程控制 单分支多分支 case语句 for循环 反复的把取出来的i值…...

stack_queue的底层,模拟实现,deque和priority_queue详解

文章目录 适配器Stack的模拟实现Queue的模拟实现vector和list的对比dequedeque的框架deque的底层 priority_queuepriority_queue的使用priority_queue的底层仿函数的使用仿函数的作用priority_queue模拟实现 适配器 适配器是一种模式&#xff0c;这种模式将类的接口转化为用户希…...

LabVIEW 实现线路板 PCB 可靠性测试

在电子设备制造领域&#xff0c;线路板 PCB&#xff08;Printed Circuit Board&#xff09;的可靠性直接影响产品的整体性能和使用寿命。企业在生产新型智能手机主板时&#xff0c;需要对 PCB 进行严格的可靠性测试&#xff0c;以确保产品在复杂环境下能稳定运行。传统的测试方…...

sqlfather笔记

这里简单记录写学习鱼皮sqlfather项目的笔记&#xff0c;以供以后学习。 运行 将前后端项目clone到本地后&#xff0c;修改对应配置文件运行项目。 后端 1.配置好mysql后运行这个sql文件建立对应的表。 2.修改数据库密码 3.修改完后运行启动类即可 4. 启动结果 5.查看A…...

RabbitMQ(四)

SpringBoot整合RabbitMQ SpringBoot整合1、生产者工程①创建module②配置POM③YAML④主启动类⑤测试程序 2、消费者工程①创建module②配置POM③YAML文件内配置&#xff1a; ④主启动类⑤监听器 3、RabbitListener注解属性对比①bindings属性②queues属性 SpringBoot整合 1、生…...

【Unity3D】远处的物体会闪烁问题(深度冲突) Reversed-Z

知识点&#xff1a;深度冲突、像素闪烁现象、Reversed-Z&#xff08;反向Z&#xff09;、浮点数精度问题 前提概要&#xff1a;深度值都是由32位浮点数存储 原因&#xff1a;深度冲突&#xff0c;多个物体之间无法正确地渲染远近关系&#xff0c;出现上一帧可能是A物体在B物体…...

探索与创作:2024年CSDN平台上的成长与突破

文章目录 我与CSDN的初次邂逅初学阶段的阅读CSDN&#xff1a;编程新手的避风港初学者的福音&#xff1a;细致入微的知识讲解考试复习神器&#xff1a;技术总结的“救命指南”曾经的自己&#xff1a;为何迟迟不迈出写博客的第一步兴趣萌芽&#xff1a;从“读”到“想写”的初体验…...

QT笔记- Qt6.8.1 Android编程 添加AndroidManifest.xml文件以支持修改权限

1. 切换项目选项卡&#xff0c;找到构建的步骤下的最后一项构建安卓APK&#xff0c;展开后找到应用程序栏&#xff0c;点击安卓自定义中的创建模板. 2. 弹出对话框勾选图中选项后点完成 3. 回到项目&#xff0c;查看.pro文件&#xff0c;里面多了很多内容不管&#xff0c;在下…...

【Leetcode 每日一题 - 扩展】421. 数组中两个数的最大异或值

问题背景 给你一个整数数组 n u m s nums nums&#xff0c;返回 n u m s [ i ] X O R n u m s [ j ] nums[i]\ XOR\ nums[j] nums[i] XOR nums[j] 的最大运算结果&#xff0c;其中 0 ≤ i ≤ j < n 0 ≤ i ≤ j < n 0≤i≤j<n。 数据约束 1 ≤ n u m s . l e n g…...

计算机网络 | IP地址、子网掩码、网络地址、主机地址计算方式详解

关注&#xff1a;CodingTechWork 引言 在计算机网络中&#xff0c;IP地址、子网掩码和网络地址是构建网络通信的基本元素。无论是企业网络架构、互联网连接&#xff0c;还是局域网&#xff08;LAN&#xff09;配置&#xff0c;它们都起着至关重要的作用。理解它们的工作原理&a…...

C#如何调用执行命令行窗口(CMD)

一、引言 在 C# 的编程世界里&#xff0c;我们常常会遇到需要与操作系统底层进行交互的场景。这时&#xff0c;调用命令行窗口&#xff08;CMD&#xff09;就成为了一个强大的工具。无论是自动化日常任务&#xff0c;还是执行外部程序和批处理文件&#xff0c;通过 C# 调用 CM…...

vim练级攻略(精简版)

vim推荐配置: curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh 0. 规定 Ctrl-λ 等价于 <C-λ> :command 等价于 :command <回车> n 等价于 数字 blank字符 等价于 空格&#xff0c;tab&am…...

一文速通Java的JDBC编程

目录 &#x1f43d;JDBC的引入 什么是API JDBC的概念及作用 &#x1f347;准备工作 数据库驱动包 下载第三方库 &#x1f43e;JDBC 使用 将jar包导入项目 通过代码使用JDBC的API (1)创建数据源对象并设置属性 (2)和数据库服务器建立网络连接 (3)程序构造SQL语句 (…...

laravel中请求失败重试的扩展--Guzzle

背景 开发过程中&#xff0c;跟外部接口对接时&#xff0c;很常见的要考虑到失败重新的情况&#xff0c;这里记录一下我用的失败重试的情况&#xff0c; 重试方法 1、使用 Laravel 的 HTTP 客户端和异常处理 结合异常处理和重试逻辑 use Illuminate\Support\Facades\Http;…...

如何在vue中渲染markdown内容?

文章目录 引言什么是 markdown-it&#xff1f;安装 markdown-it基本用法样式失效&#xff1f;解决方法 高级配置语法高亮 效果展示 引言 在现代 Web 开发中&#xff0c;Markdown 作为一种轻量级的标记语言&#xff0c;广泛用于文档编写、内容管理以及富文本编辑器中。markdown…...

Mysql MVCC

MVCC 什么是MVCC MVCC&#xff08;多版本并发控制&#xff0c;Multi-Version Concurrency Control&#xff09; 是一种用于数据库管理系统&#xff08;DBMS&#xff09;中的并发控制机制&#xff0c;它允许多个事务同时执行而不互相阻塞&#xff0c;并通过创建数据的多个版本…...

Spring6.0新特性-HTTP接口:使用@HttpExchange实现更优雅的Http客户端

文章目录 一、概述二、使用1、创建接口HttpExchange方法2、创建一个在调用方法时执行请求的代理3、方法参数4、返回值5、错误处理&#xff08;1&#xff09;为RestClient&#xff08;2&#xff09;为WebClient&#xff08;3&#xff09;为RestTemplate 注意 一、概述 官方文档…...

怎样快速掌握mGBA测试套件:5个专业技巧确保模拟器稳定性

怎样快速掌握mGBA测试套件&#xff1a;5个专业技巧确保模拟器稳定性 【免费下载链接】mgba mGBA Game Boy Advance Emulator 项目地址: https://gitcode.com/gh_mirrors/mg/mgba mGBA作为一款开源的高精度Game Boy Advance模拟器&#xff0c;其测试套件是确保模拟器稳定…...

别再让用户点‘拒绝‘了!微信小程序订阅消息 wx.requestSubscribeMessage 的完整避坑指南(附版本兼容代码)

微信小程序订阅消息实战&#xff1a;从用户拒绝到高授权率的完整策略 每次看到后台统计里那惨淡的订阅消息授权率&#xff0c;作为开发者的你是否感到无力&#xff1f;用户总是习惯性点击"拒绝"&#xff0c;而你可能连解释的机会都没有。这不是你的代码有问题&#x…...

手把手教你用SRIO IP核实现FPGA与DSP间高速数据互传:基于AXI-Stream接口的实战

基于SRIO IP核的FPGA与DSP高速数据互传实战指南 在异构计算系统中&#xff0c;FPGA与DSP的高效协同已成为雷达信号处理、无线通信基带处理等领域的核心技术需求。传统的数据传输方式如SPI、UART等已无法满足现代系统对带宽和实时性的严苛要求&#xff0c;而Serial RapidIO&…...

Java 使用国密算法实现数据加密传输

本文是混合加密&#xff1a;前端 SM2 SM4&#xff0c;后端 Spring Boot Hutool 解密的完整示例。 方案的逻辑是&#xff1a; 前端随机生成一个 SM4 key 用 SM4 加密整个业务 JSON 用后端提供的 SM2 公钥 加密这个 SM4 key 后端先用 SM2 私钥 解出 SM4 key 再用 SM4 解出…...

保姆级教程:用STM32CubeMX配置TIM1的PA8和PA11输出PWM波(STM32F103C8T6)

STM32CubeMX实战&#xff1a;从零配置TIM1的PA8/PA11输出PWM驱动电机 当你第一次拿到STM32F103C8T6这块蓝色的小板子时&#xff0c;可能会被密密麻麻的引脚吓到——但别担心&#xff0c;今天我们要用STM32CubeMX这个神器&#xff0c;像搭积木一样轻松配置出精准的PWM波形。我清…...

QT多线程定时任务实战:QTimer与QThread的高效协作与主线程通信

1. QT多线程定时任务的核心挑战 在开发桌面应用程序时&#xff0c;经常会遇到需要定期执行某些任务的场景&#xff0c;比如每隔5秒采集一次传感器数据、每分钟检查一次系统状态等。这时候很多开发者会直接在主线程中使用QTimer&#xff0c;但这样做有个致命问题&#xff1a;如…...

本地部署开源推送通知系统 ntfy 并实现外部访问

ntfy 是一款简单、轻量级且功能强大的开源推送通知系统&#xff0c;它的核心目标是让用户或开发者能够轻松地从任何设备、任何地方向自己的手机或桌面发送通知。本文将详细介绍如何在 Linux 系统局域网内部署 ntfy 并结合路由侠实现外网访问局域网内部署的 ntfy 。 第一步&…...

GLM-4v-9b行业落地:跨境电商商品图多语言描述生成自动化方案

GLM-4v-9b行业落地&#xff1a;跨境电商商品图多语言描述生成自动化方案 1. 引言&#xff1a;跨境电商卖家的共同痛点 如果你是做跨境电商的&#xff0c;下面这个场景你一定不陌生&#xff1a;仓库里堆满了新品&#xff0c;运营同事催着要上架&#xff0c;但每个商品都需要准…...

PyArmor解包终极指南:3种高效逆向分析技巧快速掌握代码解密核心技术

PyArmor解包终极指南&#xff1a;3种高效逆向分析技巧快速掌握代码解密核心技术 【免费下载链接】PyArmor-Unpacker A deobfuscator for PyArmor. 项目地址: https://gitcode.com/gh_mirrors/py/PyArmor-Unpacker PyArmor-Unpacker是一个专为Python开发者和安全研究人员…...

企业级邮件系统自建指南:从技术选型到生产部署

企业级邮件系统自建指南&#xff1a;从技术选型到生产部署 【免费下载链接】james-project James Project是一个用于电子邮件服务器的开源软件。适用于需要为其邮件基础设施提供强大和可靠的邮件传输代理的企业和组织。具有可扩展性、灵活性和易于使用的特点。 项目地址: htt…...