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

CodeTop 复习

CodeTop 复习

  • 1.递归篇
    • 1.[合并两个有序链表](https://leetcode.cn/problems/merge-two-sorted-lists/)
    • 2.[汉诺塔问题](https://leetcode.cn/problems/hanota-lcci/)
  • 2.动态规划
    • 1.[使用最小花费爬楼梯](https://leetcode.cn/problems/min-cost-climbing-stairs/description/)
    • 2.[第N个斐波那契数](https://leetcode.cn/problems/n-th-tribonacci-number/description/)
    • 3.[三步问题](https://leetcode.cn/problems/three-steps-problem-lcci/)
  • 3.贪心
    • 1.[柠檬水找零](https://leetcode.cn/problems/lemonade-change/)
    • 2.[将数组和减半的最少操作次数](https://leetcode.cn/problems/minimum-operations-to-halve-array-sum/)

1.递归篇

1.合并两个有序链表

在这里插入图片描述

class Solution {
public:ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {//递归if(list1==nullptr) return list2;if(list2==nullptr) return list1;if(list1->val<=list2->val){//返回l1list1->next=mergeTwoLists(list1->next,list2);return list1;}else{list2->next=mergeTwoLists(list1,list2->next);return list2;}  }
};

2.汉诺塔问题

第一次把a上的移到b上,c是空的,所以把b当成原来的c:->dfs(a,c,b);
第二次把b上的移到c上,a是空的,所以:->dfs(b,a,c);
里插入图片描述

class Solution {
public:void hanota(vector<int>& A, vector<int>& B, vector<int>& C) {dfs(A,B,C,A.size());        }void dfs(vector<int>& a, vector<int>& b, vector<int>& c,int n){if(1==n){c.push_back(a.back());a.pop_back();return;}dfs(a,c,b,n-1);c.push_back(a.back());a.pop_back();dfs(b,a,c,n-1);}
};

2.动态规划

1.使用最小花费爬楼梯

在这里插入图片描述

class Solution {
public:int minCostClimbingStairs(vector<int>& cost) {//动态规划//最后楼顶的位置是size处//dp里是到达i位置时的最低花费vector<int> dp(cost.size()+1,0);dp[0]=0,dp[1]=0;for(int i=2;i<dp.size();i++)dp[i]=min(dp[i-2]+cost[i-2],dp[i-1]+cost[i-1]);return dp[dp.size()-1];}
};

2.第N个斐波那契数

在这里插入图片描述

class Solution {
public:int tribonacci(int n) {//用递归,轮转数组,可以节省空间//dp[i]里表示第i个Tnint dp[4]={0};dp[0]=0,dp[1]=1,dp[2]=1;if(n<3) return dp[n];for(int i=3;i<=n;i++){dp[3]=dp[1]+dp[2]+dp[0];dp[0]=dp[1];dp[1]=dp[2];dp[2]=dp[3];}return dp[3];       }
};

3.三步问题

这里写出式子就能看出来是前三项相加
在这里插入图片描述

3.贪心

1.柠檬水找零

贪心:主要是一个"贪"字
在这里插入图片描述

2.将数组和减半的最少操作次数

priority_queue heap;//push的时候有可能是double
在这里插入图片描述

http://www.lryc.cn/news/621377.html

相关文章:

  • C#WPF实战出真汁01--项目介绍
  • C++入门自学Day11-- List类型的自实现
  • Claude Code频繁出错怎么办?深入架构层面的故障排除指南
  • 力扣-5.最长回文子串
  • Python3 详解:从基础到进阶的完整指南
  • RS232串行线是什么?
  • 机器学习-支持向量机器(SVM)
  • 机器学习——TF-IDF算法
  • 2025天府杯数学建模A题分析
  • Docker存储卷备份策略于VPS服务器环境的实施标准与恢复测试
  • 【ai写代码】lua-判断表是否被修改
  • 【JDK】Linux 系统下 JDK 安装与环境变量配置全教程
  • Auto-Coder的CLI 和 Python API
  • TOTP算法与HOTP算法
  • 下标访问操作符 [] 与函数调用操作符 ()
  • 【软考中级网络工程师】知识点之常用网络诊断和配置命令
  • Qt---Qt函数库
  • 深度学习-卷积神经网络CNN-膨胀卷积、可分离卷积(空间可分离、深度可分离)、分组卷积
  • 小知识点:splice与slice
  • 5.Ansible-playbook-模块介绍(知识点补充)
  • 【从零开始学习Redis】项目实战-黑马点评D1
  • Rabbitmq+STS+discovery_k8s +localpv部署排坑详解
  • 迅雷链接在线解密解析工具系统源码/本地化API/开源(源码下载)
  • TCP 连接管理:深入分析四次握手与三次挥手
  • NetLimiter:精准掌控网络流量,优化网络体验
  • vue3+leaflet案例:告警系统GIS一张图(附源码下载)
  • 新增和编辑共用弹窗模板
  • 深度解析 Vue 高阶技巧:提升工程化能力的实用方案
  • 机器人伴侣的智能升级:Deepoc具身智能模型如何重塑成人伴侣体验
  • AI驱动的智能爬虫架构与应用