代码随想录算法训练营第23天

509. 斐波那契数

class Solution:def fib(self, n: int) -> int:if n ==1:return 1if n ==0:return 0 dp = [0]*(n+1)dp[1] = 1for i in range(2,n+1):dp[i] = dp[i-1] + dp[i-2]return dp[-1]

70. 爬楼梯

class Solution:def climbStairs(self, n: int) -> int:dp = [0] * (n+1)if n==1:return 1dp[1] = 1dp[2] = 2for i in range(3,n+1):dp[i] = dp[i-1] + dp[i-2]return dp[-1]

746. 使用最小花费爬楼梯

class Solution:def minCostClimbingStairs(self, cost: List[int]) -> int:dp = [0 for i in range(len(cost)+1)]dp[0] = 0dp[1] = 0for i in range(2,len(cost)+1):dp[i] = min(dp[i-1] + cost[i-1],dp[i-2] + cost[i-2])return dp[-1]

62. 不同路径

class Solution:def uniquePaths(self, m: int, n: int) -> int:dp = [[0 for i in range(n)] for j in range(m)]for i in range(m):dp[i][0] = 1for i in range(n):dp[0][i] = 1for i in range(1,m):for j in range(1,n):dp[i][j] = dp[i][j-1] + dp[i-1][j]return dp[-1][-1] 

63. 不同路径 II

class Solution:def uniquePathsWithObstacles(self, obstacleGrid: List[List[int]]) -> int:m = len(obstacleGrid)n = len(obstacleGrid[0])dp = [[0 for i in range(n)] for j in range(m)]for i in range(m):if obstacleGrid[i][0] !=1:dp[i][0] = 1else:breakfor i in range(n):if obstacleGrid[0][i] !=1:dp[0][i] = 1else:breakfor i in range(1,m):for j in range(1,n):if obstacleGrid[i][j] !=1:dp[i][j] = dp[i][j-1] + dp[i-1][j]return dp[-1][-1] if obstacleGrid[-1][-1] !=1 else 0 

343. 整数拆分

class Solution:def integerBreak(self, n: int) -> int:if n <=2:return 1dp = [0] * (n+1)dp[0] = 0dp[1] = 1dp[2] = 1dp[3] = 2for i in range(1,n+1):for j in range(1,i):dp[i] = max(dp[i], j * (i-j) , j * dp[i-j])return dp[-1]

416. 分割等和子集

class Solution:def canPartition(self, nums: List[int]) -> bool:target = sum(nums)if target % 2 == 1: return Falsetarget //= 2dp = [0] * (target + 1)for i in range(len(nums)):for j in range(target, nums[i] - 1, -1):dp[j] = max(dp[j], dp[j - nums[i]] + nums[i])return target == dp[target]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/726611.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python与FPGA——局部二值化

文章目录 前言一、局部二值化二、Python局部二值化三、FPGA局部二值化总结 前言 局部二值化较全局二值化难&#xff0c;我们将在此实现Python与FPGA的局部二值化处理。 一、局部二值化 局部二值化就是使用一个窗口&#xff0c;在图像上进行扫描&#xff0c;每扫出9个像素求平均…

探索AI视频创新:Sora的奇迹

探索AI视频创新&#xff1a;Sora的奇迹 随着科技的不断演进&#xff0c;AI视频模型已经成为人工智能领域的一颗新星。在这场技术的风暴中&#xff0c;OpenAI的Sora模型以其杰出的性能和前瞻性的技术脱颖而出&#xff0c;正引领着AI视频领域的全新创新浪潮。 Sora的技术之光 …

【深度学习笔记】优化算法——小批量随机梯度下降

小批量随机梯度下降 到目前为止&#xff0c;我们在基于梯度的学习方法中遇到了两个极端情况&#xff1a; :numref:sec_gd中使用完整数据集来计算梯度并更新参数&#xff0c; :numref:sec_sgd中一次处理一个训练样本来取得进展。 二者各有利弊&#xff1a;每当数据非常相似时&a…

电脑蓝牙在哪里打开?不同系统详解

在现代计算机的多功能性中&#xff0c;蓝牙技术的广泛应用使得我们能够轻松连接各种外部设备&#xff0c;实现无线传输和分享。无论是连接无线耳机、键盘&#xff0c;还是与其他设备快速交换文件&#xff0c;蓝牙在电脑中的角色很重要。然而&#xff0c;对于一些用户而言&#…

centos7 使用rpm包部署filebeat

先决条件参考 虚拟机部署elasticsearch集群-CSDN博客 下载并安装filebeat的rpm包 curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.18-x86_64.rpmrpm -vi filebeat-7.17.18-x86_64.rpm 修改配置文件 配置文件内容可以参考 Repositories…

5G工业网关是什么?

随着科技的飞速发展&#xff0c;5G技术已经逐渐渗透到我们生活的方方面面。而在工业领域&#xff0c;5G工业网关作为连接工业设备与网络的关键组件&#xff0c;正发挥着越来越重要的作用。HiWoo Box其5G工业网关产品以其卓越的性能和稳定性&#xff0c;正助力企业实现数字化转型…

互联网面试突击算法-快速排序

快速排序&#xff08;Quick Sort&#xff09;是一种常用的高效排序算法&#xff0c;它采用了分治策略来实现排序。快速排序的基本思想是选择一个基准元素&#xff0c;将数组分割成两个子数组&#xff0c;其中一个子数组中的所有元素都小于基准元素&#xff0c;而另一个子数组中…

Hive动态分区静态分区

简述:分区是hive存放数据的一种方式,将列值作为目录来存放数据,就是一个分区,可以有多列。 这样查询时使用分区列进行过滤,只需根据列值直接扫描对应目录下的数据,不扫描不关心的分区,快速定位,提高查询效率。 hive的分区有两种类型: 静态分区SP(Static Partitionin…

互联网面试突击算法-基数排序

基数排序是一种非比较的排序算法&#xff0c;它根据元素的位数进行排序。它将整数按照位数&#xff08;个位、十位、百位等&#xff09;进行分组&#xff0c;然后分别对每个位数进行稳定的排序。通过多次按位排序&#xff0c;最终可以得到有序的结果。 基数排序的思想是从低位…

【异常处理】Vue报错 Component template should contain exactly one root element.

问题描述 启动VUE项目后控制台报错&#xff1a; Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead.翻译为&#xff1a;组件模板应该只包含一个根元素 查看vue代码&#xff0…

使用Unity Mock HMD模拟眼动追踪体验

在虚拟现实(VR)应用开发中&#xff0c;眼动追踪技术是提升用户体验的关键因素之一。它允许开发者创建更自然的交互方式&#xff0c;提升沉浸感。本文将介绍如何在Unity中使用Mock HMD来模拟眼动追踪&#xff0c;为没有实际眼动追踪硬件的开发者提供一种解决方案。 项目结构 首…

【Redis】Redis的应用场景

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;Redis ⛺️稳中求进&#xff0c;晒太阳 Redis的应用场景&#xff1a; 限流 要求10s内只能访问一次 RequestMapping("xian")public String xianLiu(String sign){String sign1 …

前端处理接口直接返回的图片

有时候接口会直接返回图片而不是连接&#xff0c;前端需要处理后才能使用。 首先你可能需要设置responseType: blob’处理响应数据格式。 直接使用 将接口及参数动态拼接成img.src直接使用 <img src"http://test.com/api/img?size50x50" alt"">i…

SpringBoot和Vue 实现增删改查、分页查询、模糊查询

文章目录 前言统一的设置返回类型Vue安装axios&#xff0c;封装request查询所有的用户前端页面请求后端接口编写 条件查询前台请求后台处理请求 分页查询前台发送请求后台接受请求 新增、编辑管理员信息前台后台 删除操作前台请求后台 前言 SpringBoot实现增删改查、分页查询、…

出口内销双循环,诺赛特企业走出发展新路子

在外贸圈这个深水池中&#xff0c;企业的命脉早已与规模、市场地位等因素牢牢绑定。大型外贸企业掌握大资源、大曝光&#xff0c;不用为订单发愁&#xff1b;中型外贸企业&#xff0c;投入相当大的人力、财力、物力&#xff0c;孤注一掷&#xff0c;虎口夺食&#xff1b;小型外…

ChatGPT 新增朗读功能,支持 37 种语言

3 月 5 日消息&#xff0c;OpenAI 为其广受欢迎的聊天机器人 ChatGPT 推出了名为「朗读」(Read Aloud) 的新功能。该功能可以让 ChatGPT 用五种不同的声音朗读其回复&#xff0c;旨在为用户提供更加便捷的交互体验。目前&#xff0c;「朗读」功能已上线 ChatGPT 的网页端、iOS …

LLM 大模型框架 LangChain 可观测性最佳实践

LLM&#xff08;Large Language Model&#xff09;大模型的可观测性是指对模型内部运行过程的理解和监控能力。由于LLM大模型通常具有庞大的参数量和复杂的网络结构&#xff0c;因此对其内部状态和运行过程的理解和监控是一个重要的问题。 什么是 LangChain&#xff1f; Lang…

中华财险启动“3·15”金融消费者权益保护教育宣传活动!

2024年中国银行保险业“3•15”消费者权益保护教育宣传活动拉开帷幕。中华财险始终坚持“中华保险•服务中华”&#xff0c;切实履行险企责任&#xff0c;为主动保护金融消费者合法权益&#xff0c;在国家监督管理总局和中华保险集团的指导下&#xff0c;全面开展“3•15” 金融…

吼!原来教师这样发布学生成绩,轻松没烦恼

在教育的日常工作中&#xff0c;发布学生成绩往往是一项繁琐而重要的任务。教师们需要确保每位学生及家长能准确、及时地了解到学习成果。然而&#xff0c;传统的纸质成绩单或逐个通知的方式不仅耗时耗力&#xff0c;还容易出错。那么&#xff0c;有没有一种方法能够让教师们轻…

前端请求的错误处理

全局考虑&#xff1a; 错误需要从三个方面考虑&#xff0c;范围一次减小&#xff1a; 网络层 > 协议层 > 应用层