当前位置: 首页 > 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.dtcms.com/a/331153.html

相关文章:

  • [免费]基于Python的影视数据可视化分析系统(Flask+echarts)【论文+源码+SQL脚本】
  • 实战指南|消防管理系统搭建全流程解析
  • Android 常用框架汇总
  • AI需要提供情绪价值吗?GPT-4o风波背后的安全与孤独之战
  • 云原生俱乐部-杂谈1
  • python爬虫学习(2)
  • vite.config.js详解;本地配置获取真实请求地址
  • mysql——count(*)、count(1)和count(字段)谁更快?有什么区别?
  • 《软件工程导论》实验报告三 需求分析建模(二)
  • SQL LEFT JOIN 与 WHERE 条件的隐藏坑
  • anaconda创建pytorch1.10.0和pytorch2.0.0的GPU环境
  • iOS 26 一键登录失效:三大运营商 SDK 无法正常获取手机号
  • 装个 Oracle 23ai 本地版玩玩~
  • 短剧小程序系统开发:赋能创作者,推动短剧艺术创新发展
  • SpringBoot+Vue线上部署MySQL问题解决
  • CPP模板编程
  • AI驱动的智能爬虫架构与应用
  • openvsx搭建私有插件仓库
  • 设计模式有哪些
  • 2022_ISG_CTF-rechall详解(含思考过程)
  • MixOne在macOS上安装碰到的问题
  • 上网行为安全概述
  • 【跨越 6G 安全、防御与智能协作:从APT检测到多模态通信再到AI代理语言革命】
  • 数据结构:用链表实现队列(Implementing Queue Using List)
  • python批量爬虫实战之windows主题爬取
  • 移位操作符技巧
  • 8. 函数简介
  • DeepSeek补全IBM MQ 9.4 REST API 执行命令的PPT
  • Mac chrome浏览器下载DevEco Studio 6.0.0 Beta2失败
  • 分布式锁—Redisson的公平锁