秋招突击——6/17——复习{整理昨天的面试资料}——新作{删除链表倒数第n个节点}
文章目录
- 引言
- 复习
- 新作
- 删除链表倒数第N个节点
- 题目描述
- 个人实现
- 参考实现
- 总结
引言
- 主管面,面的很凄惨,不过无所谓了,我已经尽力了。上午都在整理的面经,没有复习算法,而且这两天要弄一下论文,二十号就要提交了,可能都没有复习了,只有新作。
复习
- 这里是复习了昨天主管面的所有的问题,还有对应的算法题,不过由于结果还没出,要保密,这里就不说了。
新作
删除链表倒数第N个节点
题目描述
- 题目链接

个人实现
- 这道题典型的使用快慢指针来实现,不过两者是等间距的,前一个指针到了尾节点,后一个指针就到了倒数第n个节点。
- 有两个需要注意的地方
- 需要维持一个快慢指针之间的间距
- 需要找到倒数第n个指针的前一个指针,才能把倒数第n个指针删除
正常通过

具体实现代码
#include <iostream>using namespace std;struct ListNode{int val;ListNode* next;ListNode(int x):val(x),next(NULL){};ListNode(ListNode* t):val(-1),next(t){};
};ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode preHead = ListNode(-1,head);ListNode* ahead = &preHead;ListNode* back = &preHead;int dist = 0;while(back->next){if (dist < n) back = back->next,dist ++;else{ahead = ahead->next;back = back->next;}}// 将对应指针删除ahead->next = ahead->next->next;// delete preHead;return preHead.next;
}int main(){}
参考实现
- 他是完整遍历一遍,获取链表的长度,然后找倒数第n个指针,时间复杂度是一样,我这样写也是遍历了两次,没什么更快的。
- 我又愚蠢了,其实都是一样的,我那样写反而复杂了。
/*** 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* removeNthFromEnd(ListNode* head, int k) {auto dummy =new ListNode(-1);dummy->next = head;int n = 0;for(auto p = dummy;p;p = p->next) n ++;auto p = dummy;for(int i = 0;i < n - k - 1;i ++) p = p->next;p->next = p->next->next;return dummy->next;}
};
总结
- 今天的题目过得有点快,不往下做了。早点睡觉,背一下八股。
相关文章:
秋招突击——6/17——复习{整理昨天的面试资料}——新作{删除链表倒数第n个节点}
文章目录 引言复习新作删除链表倒数第N个节点题目描述个人实现参考实现 总结 引言 主管面,面的很凄惨,不过无所谓了,我已经尽力了。上午都在整理的面经,没有复习算法,而且这两天要弄一下论文,二十号就要提…...
宝塔面板使用技巧(pure-FTP)上传文件和文件夹默认权限644的修改
前言 科技在进步各种各样的开源软件和库让我们应接不暇,我估计现在所有做php开发的人员都知道宝塔面板,我就经常用,但是不知道大家出现过一个问题不就是在我们开发过程中需要实时的给服务器上传我们开发的文件那么就涉及到了宝塔自带的pure-F…...
mac m芯片安装win11遇坑
mac m芯片安装win11遇坑 1、下载arm架构镜像 磁力链接: magnet:?xturn:btih:e8c15208116083660709eac9aee124e025c01447&dnSW_DVD9_Win_Pro_11_22H2_64ARM_ChnSimp_Pro_Ent_EDU_N_MLF_X23-12755.ISO&xl57198960642、使用VMWare Fusion安装,启…...
一个自定义流程的平台
脚本语言使用的是C#,当用户发布一个新的流程时,会把C#的脚本编译成dll,然后添加到微服务中,因为有了硬编译,所以执行速度是非常快的。逻辑脚本支持调试,可以断点和逐行调试。平台提供了调试工具,…...
舔狗日记Puls微信小程序源码
源码介绍: 这是一款舔狗日记Puls微信小程序源码,提供每日一舔的功能,让你舔到最后,什么都有! 源码通过API获取一些舔狗日记,内置了100多句舔狗日记,让你摆脱上班摸鱼的无聊时光, …...
PyMuPDF 操作手册 - 05 PDF的OCR识别等
文章目录 六、PyMuPDF的OCR识别6.1 使用 Tesseract进行OCR6.2 使用MuPDF进行OCR6.3 使用 Python 包easyocr进行OCR识别6.4 使用 Python ocrmypdf包进行OCR识别6.5 将图像批量OCR并转换为PDF七、PDF附加、嵌入、批注等7.1 附加文件7.2 嵌入文件7.3 从文档中获取所有批注六、PyMu…...
Vue与TypeScript的配合:如何在Vue项目中使用TypeScript,利用静态类型提高代码的可维护性
环境搭建: 在你的 Vue 项目中使用 TypeScript,使你的代码具有静态类型检查、IDE 的类型提示等有益的功能。以下是搭建 Vue 和 TypeScript 的开发环境的步骤: 创建一个项目 使用 Vue CLI 创建一个新的Vue项目是最简单的方法: vue create my-project 在出现的提示中,选择…...
华为仓颉语言介绍
文章目录 1.简介2.初识仓颉语言3.基本概念3.1标识符3.2程序结构3.3变量3.4表达式3.4.1if 表达式3.4.2while语句3.4.3do-while表达式3.4.4 for-in 表达式3.4.5 where条件3.4.6 break和continue 3.5 函数 1.简介 随着万物互联以及智能时代的到来,软件的形态将发生巨大…...
《昇思 25 天学习打卡营第 3 天 | 张量 Tensor 》
《昇思 25 天学习打卡营第 3 天 | 张量 Tensor 》 活动地址:https://xihe.mindspore.cn/events/mindspore-training-camp 签名:Sam9029 感觉像是在 学习高数一样 张量 Tensor 张量是一种特殊的数据结构,与数组和矩阵非常相似。 张量…...
free命令——显示系统内存使用情况
free命令的功能是显示系统内存使用情况,包含物理内存和交换内存的总量、使用量和空闲量。 语法格式:free [选项] 常用选项及含义 选项含义-b以字节B为单位显示内存和交换内存的容量使用情况-k以KB为单位显示内存和交换内存的容量使用情况-m以MB为单位…...
麒麟移动运行环境(KMRE)——国内首个开源的商用移固融合“Android生态兼容环境”正式开源
近日,由麒麟软件研发的KMRE(Kylin Mobile Runtime Environment,麒麟移动运行环境)在openKylin(开放麒麟)社区正式发布,为Linux桌面操作系统产品提供了高效的Android运行环境解决方案。这也是国内…...
print(“{}{}“.format())
print("{}{}".format()) 是 Python 中用于格式化字符串并将其输出到控制台的一种方法。format 方法允许你在字符串中插入变量或表达式的值,并以指定的格式显示它们。 基本语法 print("format_string".format(value1, value2, ...))format_str…...
2-12 基于CV模型卡尔曼滤波、CT模型卡尔曼滤波、IMM模型滤波的目标跟踪
基于CV模型卡尔曼滤波、CT模型卡尔曼滤波、IMM模型滤波的目标跟踪。输出跟踪轨迹及其误差。程序已调通,可直接运行。 2-12 CV模型卡尔曼滤波 CT模型卡尔曼滤波 - 小红书 (xiaohongshu.com)...
序列1bp插入有什么影响
1bp插入突变(1个碱基插入)在基因序列中通常会引起以下几种影响: 移码突变(Frameshift Mutation): 插入的一个碱基会改变插入点之后所有的密码子,导致读取框的移动。这种变化通常会引起整个蛋白质…...
CVPR 2024盛况空前,上海科技大学夺得最佳学生论文奖,惊艳全场
CVPR 2024盛况空前!上海科技大学夺得最佳学生论文奖,惊艳全场! 会议之眼 快讯 2024 年 CVPR (Computer Vision and Pattern Recogntion Conference) 即国际计算机视觉与模式识别会议,于6月17日至21日正在美国西雅图召…...
HTTP 状态码详解及使用场景
目录 1xx 信息性状态码2xx 成功状态码3xx 重定向状态码4xx 客户端错误状态码5xx 服务器错误状态码 HTTP思维导图连接:https://note.youdao.com/s/A7QHimm0 1xx 信息性状态码 100 Continue:表示客户端应继续发送请求的其余部分。 使用场景:客…...
【Windows】配置Flutter开发环境
一、下载 flutter sdk 点此跳至下载官网 下载好flutter sdk,并解压到自定义的位置。 二、配置环境变量 此电脑 --> 右键 选择 属性 --> 点击 高级系统设置 --> 会弹出系统属性的窗口,点击 环境变量 按钮 1.配置加速镜像地址 PUB_HOSTED_…...
云渲染与传统渲染器的较量与融合
随着云计算技术的突破性进展,云渲染技术应运而生,为传统渲染器带来了前所未有的挑战与机遇。云渲染,以其在计算资源、可扩展性、协作便利性等方面的显著优势,正在重新定义渲染行业的标准。云渲染与传统渲染器之间的核心差异&#…...
比较新旧两数组列表,新增或删除数据库记录(ai生成)
两数组比较 元素相同则不处理,缺少则删除数据库记录,多余则新增数据库记录。 为了解决这个问题,我们需要定义两个数组array1和array2,它们包含数据库中的记录。然后,我们可以遍历这两个数组,并对数据库执行相应的操作。以下是一个…...
Java基础 - 练习(五)根据今天日期获取一周内的日期(基姆拉尔森公式)
基姆拉尔森计算公式用于计算一周内的日期。比如给你年月日,从而计算今天是星期几。 基姆拉尔森公式 Week (d2*m3*(m1)/5yy/4-y/100y/4001) mod 7, 3<m<14Week的取值范围是0 ~ 6,其中0代表星期日,1 ~ 6分别代表星期一到星期…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...
HTML前端开发:JavaScript 获取元素方法详解
作为前端开发者,高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法,分为两大系列: 一、getElementBy... 系列 传统方法,直接通过 DOM 接口访问,返回动态集合(元素变化会实时更新)。…...
HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散
前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说,在叠衣服的过程中,我会带着团队对比各种模型、方法、策略,毕竟针对各个场景始终寻找更优的解决方案,是我个人和我司「七月在线」的职责之一 且个人认为,…...
门静脉高压——表现
一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构:由肠系膜上静脉和脾静脉汇合构成,是肝脏血液供应的主要来源。淤血后果:门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血,引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...
