HOT100与剑指Offer

news/2024/5/28 4:11:32/ 标签: 学习, c++, leetcode

文章目录

  • 前言
  • 一、70. 爬楼梯(HOT100)
  • 二、118. 杨辉三角(HOT100)
  • 总结


前言

一个本硕双非的小菜鸡,备战24年秋招,计划刷完hot100和剑指Offer的刷题计划,加油!
根据要求,每一道题都要写出两种以上的解题技巧。

一、70. 爬楼梯(HOT100)

70. 爬楼梯
Note:动态规划解题

class Solution {
public:int climbStairs(int n) {if (n < 2) return n;//1.确定dp数组//n级台阶有多少种方法vector<int> dp(n);//2.确定dp公式//dp[n] = dp[n - 1] + dp[n - 2];//3.确定dp数组初始化dp[0] = 1;dp[1] = 2;//4.确定遍历顺序for (int i = 2; i < n; i++) {dp[i] = dp[i - 1] + dp[i - 2];}return dp[n - 1];}
};

Note:数学方法,通过递推数列的通向公式解题

class Solution {
public:int climbStairs(int n) {double sqrt5 = sqrt(5);double fibn = pow((1 + sqrt5) / 2, n + 1) - pow((1 - sqrt5) / 2, n + 1);return (int)round(fibn / sqrt5);}
};

二、118. 杨辉三角(HOT100)

118. 杨辉三角

Note:动态规划解题

class Solution {
public:vector<vector<int>> generate(int numRows) {//1.确定dp数组//每一层具体的数值vector<vector<int>> dp(numRows);//2.确定dp公式//dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j];//3.确定dp数组初始化//所有节点先全部设置为1for (int i = 0; i < numRows; i++) {dp[i] = vector<int>(i + 1, 1);}//4.确定遍历顺序for (int i = 2; i < numRows; i++) {for (int j = 1; j < i; j++) {dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j];}}return dp;}
};

Note:数学方法(其实跟动规没啥区别)

class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> ret(numRows);for (int i = 0; i < numRows; i++) {ret[i].resize(i + 1);ret[i][0] = ret[i][i] = 1;for (int j = 1; j < i; j++) {ret[i][j] = ret[i - 1][j] + ret[i - 1][j - 1];}}return ret;}
};

总结

祝大家都能学有所成,找到一份好工作!


http://www.ppmy.cn/news/1434555.html

相关文章

椭圆曲线密码学(ECC)基本介绍和总结

背景 ECC英文全称"Elliptic Curve Cryptography"&#xff0c;其背后的密码学原理或者说安全性&#xff0c;是基于椭圆曲线离散对数问题&#xff08;Elliptic Curve Discrete Logarithm Problem&#xff0c;ECDLP&#xff09;。ECC密码学被普遍认为是RSA密码系统的接…

Spring-IOC之组件扫描

版本 Spring Framework 6.0.9​ 1. 前言 通过自动扫描&#xff0c;Spring 会自动从扫描指定的包及其子包下的所有类&#xff0c;并根据类上的特定注解将该类装配到容器中&#xff0c;而无需在 XML 配置文件或 Java 配置类中逐一声明每一个 Bean。 支持的注解 Spring 支持一系…

001 redis高并发减库存

文章目录 释放锁加lua脚本String lockValue&#xff08;唯一标识符作为锁的值&#xff09;lua脚本无String lockValue&#xff08;唯一标识符作为锁的值&#xff09;无Lua脚本加锁的过期时间防死锁无lockValue代码 lockValue加了lockValue无lua脚本代码加了lockValue加了lua脚本…

工厂方法模式设计实验

【实验内容】 楚锋软件公司欲开发一个系统运行日志记录器&#xff08;Logger&#xff09;。该记录器可以通过多种途径保存系统的运行日志&#xff1a;例如通过文件记录或数据库记录&#xff0c;用户可以通过修改配置文件灵活地更换日志记录方式。在设计各类日志记录器时&#…

【ZZULIOJ】1078: a+b(多实例测试1)(Java)

目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy 提示 code 题目描述 计算AB 输入 输入第1行为一个整数n(1≤n≤10)&#xff0c;代表测试的组数。 下面有n组测试数据&#xff0c;每组1行&#xff0c;为2个整数&#xff0c;为A, B。 输出 对每行输入&#xff…

【Java】文件操作(一)

文章目录 ✍一、文件的基本认识1.文件是什么&#xff1f;2.文本文件和二进制文件3.文件权限4.相对路径和绝对路径1.1绝对路径1.2相对路径 ✍二、文件的基本操作1.FIle的属性2.File的构造方法3.File类的方法3.1File类的获取操作3.2File类的判断操作3.3文件创建和删除3.4其他的常…

SQL超详细解析

目录 SQL通用语法 SQL分类 DDL-数据库定义语言 1、DDL-数据库操作-查询 查询所有数据库 查询当前数据库 2、DDL-数据库操作-创建 创建数据库 3、DDL-数据库操作-删除 4、DDL-数据库操作-使用 5、DDL-表操作-查询&#xff1a; 查看当前数据库的所有表名称 查询当前表…

C++的初步知识——命名空间,缺省参数,重载函数

C 首先写一段代码&#xff1a; #include <stdio.h>int main() {printf("Hello world\n");return 0; }这段C语言代码在cpp文件中仍可运行。我们了解C是兼容C语言的&#xff0c;C的关键字中就包含了C语言的关键字和自身的关键字。关于关键字&#xff0c;我们简…

问题:react函数中的state是上一次的值

场景 有一个聊天输入框组件&#xff0c;输入框上面有表情包组件。 通过redux创建了store&#xff0c;存储一个message的状态&#xff0c;用于表情包和输入框共享状态。 输入框通过设置value和onClick做了一个简单双向绑定&#xff0c;其中value的值为store里的message。 impor…

在android 源代码中 使用gradlew 编译android 模块

gradle 编译子模块 在Gradle中编译子模块通常涉及到以下步骤&#xff1a; 1、确保你的项目结构是模块化的&#xff0c;每个子模块都是一个独立的目录2、在项目的根目录下的setting.gradle文件中&#xff0c;包含需要编译的子模块。例如&#xff1a;include ‘:submodule-name…

ctfshow web入门 web180--web185

web180 import requests import recom re.compile("admin") def repisTrue(char):url f"http://自己环境的网址/api/?id1%27and%27{char}%27%27{char}&page1&limit10"res requests.get(url)w com.search(res.text)if w is not None:return T…

(delphi11最新学习资料) Object Pascal 学习笔记---第10章第1节(属性的代码补全)

10.1.3 属性的代码补全 ​ 给类添加属性是一项繁琐的工作&#xff0c;IDE的编辑器可以让你在编写属性声明的初始部分&#xff08;在类内部&#xff09;时轻松自动完成属性&#xff0c;如下所示&#xff1a; typeTMyClass classpublicproperty Month : Integer;end;​ 在光标…

PyTorch and Stable Diffusion on FreeBSD

Stable Diffusion在图像生成领域具有广泛的应用和显著的优势。它利用深度学习和扩散模型的原理&#xff0c;能够从随机噪声中生成高质量的图像。 官网&#xff1a;GitHub - verm/freebsd-stable-diffusion: Stable Diffusion on FreeBSD with CUDA support FreeBSD下难度主要…

【QT学习】9.绘图,三种贴图,贴图的转换,不规则贴图(透明泡泡)

一。绘图的解释 Qt 中提供了强大的 2D 绘图系统&#xff0c;可以使用相同的 API 在屏幕和绘图设备上进行绘制&#xff0c;它主要基于QPainter、QPaintDevice 和 QPaintEngine 这三个类。 QPainter 用于执行绘图操作&#xff0c;其提供的 API 在 GUI 或 QImage、QOpenGLPaintDev…

网络基础-TCP/IP和OSI协议模型

一、OSI和TCP/IP模型 二、OSI七层模型 三、TCP/IP模型 参考&#xff1a;https://www.cnblogs.com/f-ck-need-u/p/7623252.html

怎么使用yolov8进行图片识别,分类,分割,视频追踪

目录 一:简介 二:图片识别 三:图片分类 四:图片分割 五:姿态

力扣HOT100 - 199. 二叉树的右视图

解题思路&#xff1a; 相当于层序遍历&#xff0c;然后取每一层的最后一个节点。 class Solution {public List<Integer> rightSideView(TreeNode root) {if (root null) return new ArrayList<Integer>();Queue<TreeNode> queue new LinkedList<>…

【免费题库】华为OD机试 - 根据IP查找城市(Java JS Python C C++)

须知 哈喽,本题库完全免费,收费是为了防止被爬,大家订阅专栏后可以私信联系退款。感谢支持 文章目录 须知题目描述输入描述输出描述解题思路:Java代码:JS代码:Python代码:C++代码:题目描述 某业务需要根据终端的IP地址获取该终端归属的城市,可以根据公开的IP地址池信…

K8s: 控制器之Deployment对象

Deployment 对象 1 &#xff09;概述 为什么大家都用Deployment&#xff0c;不直接用Pod&#xff0c;不直接用 Replica Set因为deployment就是专门像一个管理员一样&#xff0c;专门来管这些散落在各处的各种各样的PodDeployment不仅会管Pod&#xff0c;还会管Replica Set只要…

UltraScale+的10G/25G Ethernet Subsystem IP核使用

文章目录 前言一、设计框图1.1、xxv_ethernet_01.2、xxv_ethernet_0_sharedlogic_wrapper1.3、xxv_ethernet_0_clocking_wrapper1.4、xxv_ethernet_0_common_wrapper 二、IP核配置三、仿真四、上板测速五、总结 前言 前面我们学习了很多基于XILINX 7系列的高速接口使用&#x…