刷爆leetcode Day11 DFS
DFS
- 1. 汉诺塔(easy)
- 2. 合并两个有序链表(easy)
- 3. 反转链表(easy)
- 4. 两两交换链表中的节点(medium)
- 5. Pow(x,n)-快速幂(medium)
1. 汉诺塔(easy)
https://leetcode.cn/problems/hanota-lcci/description/
class Solution {
public:void hanota(vector<int>& A, vector<int>& B, vector<int>& C) {//A柱借助B柱移动到C柱//用递归解决问题,不要过多关注具体细节//首先拆分子问题//其次解决子问题//返回(回溯条件)_hanota(A,B,C,A.size());}void _hanota(vector<int>& A, vector<int>& B, vector<int>& C,int n){if(n==1)//只剩一个盒子这个盒子是最大的{C.push_back(A.back());A.pop_back();return;}//子问题,将n-1个盒子借助C挪到B_hanota(A,C,B,n-1);C.push_back(A.back());A.pop_back();//将n-1个盒子借助借助A挪到C_hanota(B,A,C,n-1);}
};
2. 合并两个有序链表(easy)
https://leetcode.cn/problems/merge-two-sorted-lists/submissions/576440296/
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {if(list1==nullptr)return list2;if(list2==nullptr)return list1;if(list1->val<list2->val){list1->next=mergeTwoLists(list1->next,list2);return list1;}else{list2->next=mergeTwoLists(list2->next,list1);return list2;}}
};
3. 反转链表(easy)
https://leetcode.cn/problems/merge-two-sorted-lists/submissions/576419884/
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* reverseList(ListNode* head) {if(head==nullptr)return nullptr;//链表可能为空if(head->next==nullptr)return head;ListNode*NewNode=reverseList(head->next);head->next->next=head;head->next=nullptr; return NewNode;}
};
4. 两两交换链表中的节点(medium)
https://leetcode.cn/problems/swap-nodes-in-pairs/submissions/576438012/
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* swapPairs(ListNode* head) {if(head==nullptr)return nullptr;if(head->next==nullptr) return head;ListNode*tmp=swapPairs(head->next->next);ListNode*ret=head->next;head->next->next=head;head->next=tmp;return ret;}
};
5. Pow(x,n)-快速幂(medium)
https://leetcode.cn/problems/powx-n/submissions/576439853/
class Solution {
public:double _myPow(double x, int n){if(n==0)return 1.0;double tmp=_myPow(x,n/2);return n%2==0?tmp*tmp:x*tmp*tmp;}double myPow(double x, int n) {return n>=0?_myPow(x,n):1.0/_myPow(x,n);}
};
相关文章:
刷爆leetcode Day11 DFS
DFS 1. 汉诺塔(easy)2. 合并两个有序链表(easy)3. 反转链表(easy)4. 两两交换链表中的节点(medium)5. Pow(x,n)-快速幂(medium) 1. 汉诺塔&#x…...
虚拟机不同网络模式的区别
网络模式 NAT模式 (可以上网) 使用NAT模式的虚拟机都和物理机VMnet8处于同一个网段 桥接模式 (可以上网) 使用桥接模式的虚拟机都和物理机网卡处于同一网段 仅主机模式 (不能上网,完全隔离࿰…...
嵌入式软件 Bug 排查与调试技巧
目录 1、准备工作 2、打印调试 实现步骤 注意事项 3、断点调试 4、观察点调试 5、远程调试 6、内存分析 内存泄漏检测 栈溢出检测 7、异常处理 8、性能分析 9、逻辑分析仪 10、示波器 11、常见bug类型 12、调试策略 1、准备工作 硬件工具准备 调试器:例如 J - …...

阿里云环境下用docker搭建redis主从复制
redis主从复制可将主redis中的数据同步到从redis中,具有读写分离、容灾恢复、数据备份、支持高并发等特性。 本文演示在阿里云环境下,用 docker 搭建 redis 主从复制(一主二从)的操作过程。 一、环境准备 阿里云安装CentOS7.9 6…...
STM32 从0开始系统学习 1
笔者最近打算使用STM32系统的做一点东西。大二的时候就开始慢慢接触了STM32,拿他来做过一些事情,但是始终是葫芦吞枣,有点不扎实。笔者这里打算重新开始好好整理一下STM32的内容。 在这一笔记中很简单,就是解答一下啥是STM32&…...

python-numpy-笔记1
numpy官网NumPy User Guide 启动终端jupyter notebook 1.进入CMD输入jupyter notebook --enter--等待结束,使用Edge打开后出现jupyter的网页...

云+AI 时代的 OceanBase
2024 年 10 月 23 日,OceanBase 年度发布会在北京成功举办。会上,CEO 杨冰表示,OceanBase将继续践行一体化产品战略,不断演进产品能力,从支撑关键业务负载的OLTP能力,到实时分析的AP能力,再到应…...

【C++】vector使用详解
本篇我们来介绍STL的vector的内容。vector其实就是顺序表,vector的学习还是分为接口使用和模拟实现两大部分,本片就是介绍一下vector的使用。 1.vector的介绍及使用 vector文档介绍:vector - C Reference 在使用时需要加头文件#include <…...

.NET Core WebApi第5讲:接口传参实现、数据获取流程、204状态码问题
一、接口传参实现 1、引入:通过网址上两个参数mod...和FID....,区分开要的是哪个板块里面的数据 2、传参实现:在方法的参数处定义STRING字符串 (1)传1个参数 2>运行代码,在网页上输入以“点…...
运维面试汇总
Linux grep sed awk cut组合使用☆ http错误码和原因 长连接、短连接、WebSocket区别和使用场景 nginx性能优化有哪些方式☆ lvs、nginx、haproxy区别和使用场景☆ 僵尸进程是什么 进程、线程、协程区别☆ 什么是nginx的异步非阻塞 linux网络丢包怎么排查☆ 常用的性能…...
学习封装Flutter组件,看这篇就够了
Flutter 的自定义组件 一、添加 UI 组件 在进行自定义组件的封装之前,应该先掌握如何在 Flutter 应用页面中添加内置组件,如按钮和文本等,以下面的页面定义为例: import package:flutter/material.dart;class SecondPage exten…...
无线麦克风方案芯片DSH32F3024
直播跑道狂飙后,与其相配套的产品链也逐渐成形。其中麦克风的发展更是随着直播的火热而直线上升。无线麦克风以其便捷性、灵活性和高质量的音频传输能力,更受大家的青睐。今天我们就来说一下无线麦克风及对它起着至关重要的主控芯片的技术特点和性能解析…...
谷粒商城の秒杀服务
文章目录 前言一、秒杀系统的设计二、缓存预热1.缓存结构设计2、上架 三、秒杀业务实现 前言 本篇基于谷粒商城的秒杀服务,介绍设计一个秒杀系统的要素,包括缓存预热、商品随机码、动静分离、消息队列削峰等。对应视频P311-P325(只介绍系统设…...

庆祝程序员节:聊一聊编程语言的演变
人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…...
大模型技术在网络安全领域的应用与发展
一、概述 大模型技术,尤其是深度学习和自然语言处理领域的大型预训练模型,近年来在网络安全领域得到了广泛应用。这些模型通过其强大的数据处理能力和泛化能力,为网络安全带来了新的机遇和挑战。本文将对大模型技术在网络安全领域的应用进行…...

基于vite和vue3、 eslint、prettier、stylelint、husky规范
前言 在现代的前端开发中,代码规范非常重要。它可以提高团队的协作效率,减少代码错误,使代码更易于维护。为了实现代码规范化,我们可以使用一些工具来辅助我们的开发流程,包括eslint、prettier、stylelint、husky&am…...

git push到远程怎么回退
git push到远程服务器想继续修改,你必须要回退然后在此提交。而且需要保留本地的修改文件。 下面给你一些git命令,回退很简单。 按照下面的流程操作就行: 1.查看提交历史 首先,使用git log命令查看提交历史。可以使用以下命令显…...
Web保存状态的手段(Application的使用)
Application 在Java Web开发中,ServletContext(通常称为application)是一个非常重要的接口,它代表了Web应用程序的上下文。每个Web应用都有其自己的ServletContext,当Web应用被加载到Servlet容器时创建,并…...

高翔【自动驾驶与机器人中的SLAM技术】学习笔记(十二)拓展图优化库g2o(一)框架
【转载】理解图优化,一步步带你看懂g2o框架 文章来源:理解图优化,一步步带你看懂g2o框架 小白:师兄师兄,最近我在看SLAM的优化算法,有种方法叫“图优化”,以前学习算法的时候还有一个优化方法…...

Flutter Row组件实战案例
In this section, we’ll continue our exploration by combining the Row and Container widgets to create more complex layouts. Let’s dive in! 在本节中,我们将继续探索,结合“Row”和“Container”小部件来创建更复杂的布局。让我们开始吧! Sc…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...

Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...

微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...