【代码随想录】算法训练计划38

dp

今天这三道都写过了

1、509. 斐波那契数

题目:
斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:

F(0) = 0,F(1) = 1
F(n) = F(n - 1) + F(n - 2),其中 n > 1
给定 n ,请计算 F(n) 。

思路:
  • 简单
func fib(n int) int {if n<2 {return n}a,b,c := 0,1,0for i:=1; i<n; i++{c = a+ba,b = b,c}return c
}

2、70. 爬楼梯

题目:
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

思路:
  • i代表下标,dp[i]代表有几种方法,递推公式自己找规律
func climbStairs(n int) int {if n==1 {return 1}dp := make([]int, n+1)dp[1] = 1dp[2] = 2for i:=3; i<=n; i++{dp[i] = dp[i-1]+dp[i-2]}return dp[n]
}

3、746. 使用最小花费爬楼梯

题目:
给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。
你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。
请你计算并返回达到楼梯顶部的最低花费。

思路:
  • 还是走的递归路子
func minCostClimbingStairs(cost []int) int {//dpf := make([]int, len(cost)+1)f[0],f[1] = 0,0for i:=2; i<len(cost)+1; i++ {f[i] = min(f[i-1]+cost[i-1], f[i-2]+cost[i-2])}return f[len(cost)]
}
func min(a,b int) int {if a<b{return a}; return b}

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

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

相关文章

数据结构第二次作业——递归、树、图【考点罗列//错题正解//题目解析】

目录 一、选择题 ——递归—— 1.【单选题】 ——递归的相关知识点 2.【单选题】——递归的应用 3.【单选题】——递归的实现结构 4.【单选题】——递归的执行与实现 5.【单选题】 ——递归算法 ——树—— 6.【单选题】 ——树的结构 *7.【单选题】——树的知识点 …

【Effective C++】条款2:尽量以const,enum,inline替换#define

一.const替换#define #define的两个缺点&#xff1a; 不便于调试&#xff0c;编译器看到的是宏替换后的值&#xff0c;报错时显示也是替换后的内容&#xff0c;不便于定位错误目标代码中出现多个替换后的内容。因为宏替换在预处理阶段完成&#xff0c;宏是不会进入记号表的。 …

MYSQL窗口函数详解和实战(内含示例)

MySQL 窗口函数提供了跨与当前行关联的分组的计算能力。 窗口函数与聚合函数不同&#xff0c;聚合函数对每个分组进行计算并为每个分组返回一行&#xff0c;而窗口函数不会将每个分组输出到一行&#xff0c;而是将每个分组的计算结果合并到与之关联的行中。 目录 一、CUME_DIS…

【Maven】依赖管理

1. 依赖管理 1.1 依赖配置 依赖&#xff1a;指当前项目运行所需要的jar包。一个项目中可以引入多个依赖。 依赖引入步骤&#xff1a;在pom.xml中编写标签&#xff0c;在标签中使用引入坐标&#xff0c;定义坐标的 groupId、artifactId、version&#xff0c;最后点击刷新&…

html css 布局layout

弹性布局 display:flex; justify-content:space-between; — 水平分布【item之间有相同的边距&#xff0c;和容器之间没边距】justify-content: space-around; — item和item之间以及和容器之间都有边距align-items: center; — 垂直居中分布align-items:stretch; — 如果item…

17. 电话号码的字母组合 经典回溯组合题目

17. 电话号码的字母组合 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a;错误经验吸取 原题链接&#xff1a; 17. 电话号码的字母组合 https://leetcode.cn/problems/letter-combinations-of-a-phone-number/description/ 完成情况&…

c题目16:写一个递归函数,计算N阶乘

每日小语 一生中&#xff0c;最光辉的一天并非功成名就的那一天&#xff0c;而是从悲叹与绝望中产生对人生挑战与勇敢迈向意志的那一天。——福楼拜 自己思考 这个小语呢&#xff0c;我目前还达不到&#xff0c;只是顺其自然&#xff0c;很多东西做起来很有动力&#xff0c;…

AIGC: 关于ChatGPT中对输出文本进行审核

违禁词 与 logit_bias 参数 前文&#xff0c;通过GPT的API实现了一个简单的聊天机器人, 当然也可以做一些内容审核相关的应用这里有一个非常核心&#xff0c;需要重点关注的一个方向&#xff0c;就是对于文本的审核 对于一些违禁词&#xff0c;我们需要准确的识别出来&#xf…

《opencv实用探索·十》opencv双边滤波的简单理解

1、引言 OpenCV中的双边滤波&#xff08;Bilateral Filtering&#xff09;是一种保持边缘清晰的滤波方法&#xff0c;它考虑像素的空间关系和像素值之间的差异。双边滤波对于去除噪声的同时保持图像的边缘非常有效&#xff0c;它也是一种非线性滤波。 双边滤波采用了两个高斯滤…

[Redis]基础入门

Redis入门 一、初识Redis Redis是一种键值型的NoSql数据库。 其中键值型&#xff0c;是指Redis中存储的数据都是以key、value对的形式存储&#xff0c;而value的形式多种多样&#xff0c;可以是字符串、数值&#xff0c;甚至是json。 NoSql则是相对于传统关系型数据库而言&a…

行业内卷严重到什么程度了?

一.内卷现状 最近大家都吐槽找工作难&#xff0c;确实很难。 不得不说&#xff0c;现在找工作的难度是以前的很多倍。甚至可以说地狱级都不为过。 以前只要简历一挂到网上&#xff0c;就有很多电话打过来。特别是在一线城市&#xff0c;各种类型企业的HR都来找&#xff0c;希…

Android wifi disable分析

总体流程 老套路基本不变&#xff1a; WifiSettings 通过 WifiManager 下cmd 给 WifiServiceWifiService 收到cmd后&#xff0c;先完成一部分列行检查&#xff08;如UID的权限、是否airPlayMode等等&#xff09;&#xff0c;之后将cmd下发给到WifiControllerWifiController 收…

Linux 环境变量

文章目录 环境变量概念查看环境变量设置环境变量代码获取环境变量补充说明 环境变量概念 定义 &#xff1a;环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数。 个人理解&#xff1a;Linux下一切皆文件&#xff0c;在Linux中所用的指…

HTML5 基础总结

HTML5 HTML全称为超文本标记语言&#xff0c;是一种标记语言。由一系列标签构成&#xff0c;这些标签将分散的Internet资源链接成为了一个整体。 文档声明 HTML5之前 以SGML&#xff08;通用标准标记语言&#xff09;为标准 H5不再采用这个标准 声明方式比较简洁 语法特性 HTM…

在机器学习或者深度学习中是否可以直接分为训练集和测试集而不需要验证集?我的答案如下:

文章目录 一、训练集是什么&#xff1f;二、验证集是什么&#xff1f;三、测试集是什么&#xff1f;四、是否可以直接分为训练集和测试集而不需要验证集&#xff1f;总结 在机器学习和深度学习项目中&#xff0c;通常会将数据集划分为三个部分&#xff1a;训练集&#xff0c;验…

SpringMVC实验(四)——前后端分离下的数据交互

【知识要点】 前后端分离概念 前端开发不依赖与后端&#xff0c;二者均可独立发展。二者责任与分工明确&#xff0c;前端负责人机交互操作&#xff0c;后者负责仅提供数据服务&#xff0c;不再参与前端页面的跳转的控制。随着前端设备的多元化&#xff0c;前后端分离开发已经成…

UVM实现component之间transaction级别的通信

my_model是从i_agt中得到my_transaction&#xff0c;并把 my_transaction传递给my_scoreboard。在UVM中&#xff0c;通常使用TLM&#xff08;Transaction Level Modeling&#xff09;实现component之间transaction级别 的通信。 在UVM的transaction级别的通信 中&#xff0c;数…

在Word中移动页面主要靠导航窗格,有了它,移动页面就事半功倍

本文包括有关在Microsoft Word 2019、2016和Office 365中使用导航窗格移动页面以及复制和粘贴页面的说明。 如何设置导航窗格以重新排列页面 Microsoft Word并不将文档视为单独页面的集合,而是将其视为一个长页面。正因为如此,重新排列Word文档可能会很复杂。在Word中移动页…

【精选】ATKCK红队评估实战靶场二 (超详细过程思路)

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【ATK&CK红队评估实战靶场】 【VulnHub靶场复现】【面试分析】 &#x1f…

【.NET Core】Linq查询运算符(一)

【.NET Core】Linq查询运算符&#xff08;一&#xff09; 文章目录 【.NET Core】Linq查询运算符&#xff08;一&#xff09;一、概述二、筛选数据三、投影运算3.1 Select 3.2 SelectMany3.3 Zip3.4 Select 与 SelectMany 四、Set&#xff08;设置&#xff09;运算4.1 Distinct…