给出一个n个元素的链表输出倒数第k个节点

IC芯片验证 - 手把手教你搭建UVM验证环境 这是一个UVM的demo项目 阅读详情

用两个指针;初始化为头指针;用其中一个指针遍历链表,当该指针遍历到第k个节点时,另外一个指针开始从头节点开始遍历链表;两个指针之间的距离为k;遍历完链表时第二个指针所指向的节点就是倒数第K个:

#include<cstdio>
#include<stdlib.h>
#include<iostream>
using namespace std;
struct node{
    int val;
    node *next;
    node(){
        next=NULL;
        }
};
#define Fin freopen("/home/kapop/pro/1.txt","r",stdin);
#define Fout freopen("/home/kapop/pro/2.txt","w",stdout);
int main(){
   /* Fin
    Fout*/
    int n;
    int k,x;
    while(cin>>n>>k){
   node *head=NULL,*p=NULL,*T=NULL;
   p=head=new node;
    T=head;
        int cnt=0;
     for(int i=0;i < n; i++){
          cin>>x;
           p -> val=x;
           p -> next=new node;
           cnt++;
           p=p->next;
           if(k < cnt)
            {
              T=T->next;
            }
         } 
         cout<<"res: ";
         cout<<T->val<<endl;}
    return 0;
}

/*
10 3
1 2 3 4 5 6 7 8 9 10
11 5
1 2 3 4 5 6 7 8 9 10 11
12 5
1 2 3 4 5 6 7 8 9 10 11 12


res: 8
res: 7
res: 8

*/


AI Agent评估:指标、策略与最佳实践 AI智能体正逐渐融入到各个领域,从日常的对话助手到复杂的工作流程自动化,其应用范围不断拓展。然而,确保这些智能体能够可靠、高效地完成任务至关重要,这就使得AI智能体评估成为了人工智能发展过程中不可或缺的一环。本文将深入探讨AI智能体评估的指标、策略以及最佳实践,为读者全面解读这一关键领域。 阅读详情

相关推荐

【学长笔记】关于车牌识别的CCPD数据集按比例划分

本文介绍了一个用于CCPD车牌数据集划分的Python脚本,主要功能包括:1) 将数据集按比例划分为训练集、验证集和测试集;2) 支持图像与标签文件校验;3) 可自定义划分比例和样本数量限制;4) 自动生成标准目录结构。脚本使用随机种子确保可重复性,并通过tqdm显示进度条。处理后数据可直接用于YOLO等目标检测模型的训练与评估,建议在预处理完成后立即执行划分以避免数据泄露。文章还提供了相关技术博客的参考链接。

apple_53308981的博客 1480

 输出链表的倒数第N个元素-Java

思路,倒数第N个元素,遍历链表,构造两个指针。 第一个从头先遍历N个节点,然后停下来。 第一个也跟着继续遍历,第二个从头开始遍历,直到第一个遍历到null为止。 这时第二个指针就是第N个元素。 public class BackNNode { public static class ListNode { int val; ListNode next = null; ListNode(int val) { th

快乐的大儿童附体 1304

CGNS快速入门到实战(一):CGNS静态链接库编译

近期,由于需要将CGNS格式加入到教研组自编CFD求解器DUBHE中,所以本人展开了对于CGNS的学习。CGNS快速入门到实战这一系列分成三篇文章展开叙述,具体有:(一)CGNS静态链接库编译;(二)VS配置调用CGNS静态链接库编写;(三)CGNS文件及案例展示。本篇文章重点讲述CGNS静态链接库编译。

ahang_99的博客 3819

找出单链表的倒数第n个元素

    这道题目有两种算法,但无论哪种算法,都要考虑单链表少于n个元素的情况。这里假设要寻找倒数第4个元素。    第1种算法,建立两个指针,第一个先走4步,然后第2个指针也开始走,两个指针步伐(前进速度)一致。 static Link GetLast4thOne(Link head) { Link first = head; Link second = head; for (...

jefferent2008的专栏 642

Waymo数据集里的隐藏彩蛋:5个激光雷达数据融合实战(附Python代码)

本文深入解析Waymo数据集中5个激光雷达的数据融合技术,提供Python实战代码,帮助开发者掌握多传感器协同工作的关键方法。通过时间同步、坐标转换和运动补偿等技术,实现高精度3D场景重建,提升自动驾驶系统的环境感知能力。

weixin_30399821的博客 83

Colmap参数调优实战:如何通过5个关键设置提升3D重建精度

本文深入探讨Colmap参数调优实战,通过5个关键设置显著提升3D重建精度。重点解析特征匹配参数、BA优化配置、初始化策略、资源分配及动态调整方法,结合量化数据和实际案例,帮助开发者精准优化重建流程,适用于古建筑扫描、无人机航拍等多种场景。

weixin_30872157的博客 433

CareerCup之2.2 寻找单链表倒数第n个元素

【题目】 原文: 2.2 Implement an algorithm to find the nth to last element of a singly linked list. 译文: 实现一个算法从一个单链表中返回倒数第n个元素。 【分析】 (1)创建两个指针p1和p2,指向单链表的开始节点。 (2)使p2移动n-1个位置,使之指向从头开始的第n个节点。...

SmartSi 367

STM32实现简单的智能电子相框

具体的代码案例和详细的代码实现超过5000字,无法在此篇文章中提供。但是,你可以参考STM32的官方文档和相应的图形库和多媒体库的文档,以获得更详细的实现细节和代码示例。对于硬件,我们可以选择使用STM32开发板,如STM32F4 Discovery。对于软件开发环境,我们将使用Keil MDK-ARM作为开发工具,并使用STM32CubeMX进行代码配置。在本文中,我们将使用STM32单片机实现一个简单的智能电子相框,包括显示照片、播放视频和音乐功能。接下来,我们将详细描述实现智能电子相框的步骤。

2401_85625565的博客 1006

面试题:找出单链表倒数第N个元素

       第一种方法先求出元素个数,在遍历元素个数-n个,时间复杂度为:O(N+N-n)=O(2N-n)。        第二种设置俩个指针,第一个先走N步,第二个开始走。俩者速度一样,时间复杂度为O(N)。 代码如下: package dataStructtion.linear; /** * 获取单链表倒数第N个元素 * @author xiucai */ publi...

a7762603的专栏 1162

【知识分享】IBIS 建模指南 03

本文介绍了差分缓冲器的数据提取方法,重点分析了差分系统与单端系统的核心差异。文章详细阐述了差分接收机和驱动器的结构特点、工作原理及建模方法,指出全差分结构具有优异的电源噪声抑制能力。针对IBIS建模规范,作者提出了三维I-V曲面数据提取技术,并介绍了共模/差模电流分离、片上端接处理以及V-T表生成的解决方案。文章还探讨了差分电容(C_diff)的测量方法和数据简化策略,为复杂差分缓冲器的精确建模提供了系统化的技术路径。

一只豌豆象的博客 1282

【如何利用扩展卡尔曼滤波解决跟踪毫米波雷达目标】

笛卡尔坐标系(非极坐标系):使用两个垂直的轴(通常是x轴和y轴)来确定一个点的位置。你沿着这两个轴移动确定的距离来找到这个点。极坐标系:使用一个角度和一个距离来确定一个点的位置。首先,你转到一个特定的方向(角度),然后沿着那个方向移动确定的距离来找到这个点。希望这个例子能帮助你理解两种坐标系的基本概念!

小秋 AI SLAM 入门实战教程 885

单链表取倒数第n个元素002

1、描述 给出一个单链表,让取出倒数第n个元素, 2、思路 思路1:使用双指针, 思路1.1 :使用一个滑动窗口,然后往后移动,当滑动窗口的右边界到链表终点时候,滑动窗口的第一个元素就是结果了!,不过滑动窗口的值要更新,操作复杂。 思路2:使用一个vector把整个链表的元素存起来,然后根据随机访问特性,根据下标把元素给取出来。此时的空间复杂度是:O(m),m是链表的长度 优化:vector的空间复杂度: 可以只开一个数组长度为n,然后循环存取,当把单链表最后一个元素存进来的时候,数组的当前元素的下一个元素

Tlwhisper的博客 622

windows server 2012安装升级MySQL

本篇文章主要介绍的是windows server 2012 R2操作系统安装升级以及过程中遇到的问题和对应的解决方法。(数据库低版本为:mysql-5.7.27-winx64;数据库数据库高版本为:mysql-5.7.44-winx64;提示:以下是本篇文章正文内容,下面案例可供参考。

qq_42776231的博客 780

牛客 - 链表中倒数最后k个结点

本文介绍了一种查找链表中倒数第k个节点的算法。该方法首先遍历链表计算其长度,若链表长度小于k则返回空;否则,再次遍历链表到第(长度-k)个位置并返回该节点。算法时间复杂度为O(n),空间复杂度为O(1)。示例展示了输入{1,2,3,4,5}和2时返回节点4及其后续节点的情况,以及输入{2}和8时返回空的情况。该解法通过两次遍历实现,保证了线性时间复杂度且无需额外存储空间。

weixin_53013372的博客 483

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

《剑指Offer》Java实现-输出链表的倒数第K个节点

题目描述 输入一个链表,输出该链表中倒数第k个结点。 思路 使用两个指针p1和p2,都指向头部。p1指针先走 k-1 步,到达第 k 个节点。然后两指针同时走,当p1指针到达末尾时,p2指针在倒数第 k 个节点上。 代码 /* public class ListNode { int val; ListNode next = null; ListNode(...

时光时光慢一点的博客 225

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

微软100题(13)求链表倒数第K个结点

第13题(链表): 题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。 链表结点定义如下:   struct ListNode {   int m_nKey;   ListNode* m_pNext; }; 思路一:第一遍找到总长n,算出倒数第k个事哪个,n-k+1个节点 思路二:快慢指针,快的先走k-1步,然后开始一起走,快的到

liuqing0517的博客 473

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

关于查找单链表中倒数第K个结点的元素

查找单链表中倒数第K个结点的元素 题目要求:        已知一个带有表头结点的单链表,结点结构为(data,link),假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数),若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。...

yu_lin_ha的博客 1870

输出单链表中倒数第k个结点

题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。链表结点定义如下: struct ListNode {       int       m_nKey;       ListNode* m_pNext; }; 分析:为了得到倒数第k个结点,很自然的想法是先走到链表的尾端,再从尾端回溯k步。可是输入的是单向链表,只有从前往后的指针而没有从后往前的指针

tanyujing的专栏 3180

python 输入一个链表,输出该链表中倒数第k个节点。

python 输入一个链表,输出该链表中倒数第k个节点

yzhua_777的博客 1173

每日一题:链表中倒数第K个节点的查找

链表中倒数第K个节点的查找

zxjiaya的博客 1380

【剑指offer】面试题22:链表中倒数第 K 个节点

题目: 输入一个链表,输出该链表中倒数第k哥结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1,2,3,4,5,6。这个链表的倒数第3个结点是值为4的结点。  为了得到第K个结点,很自然的想法是先走到链表的尾端,再从尾端回溯K步。可是我们从链表结点的定义可疑看出本题中的链表 是单向链表,单向链表的结点只有从前往...

Java学习 2013

22. 链表中倒数第k个节点

文章目录剑指offer 22 链表中倒数第K个节点解题思路:Java代码扩展题一:LeetCode 19 删除链表的倒数第N个节点19. 删除链表的倒数第 N 个结点解题思路:Java代码扩展题二:LeetCode 876 求链表的中间节点876. 链表的中间结点解题思路:Java代码举一反三 剑指offer 22 链表中倒数第K个节点 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 例如,一个链表有 6个节点,从头节点开始,它们的值依

YouMing_Li的博客 793

给定一个链表,输出倒数第N个节点。

找到倒数一K个节点,可以定义2个节点,2个节点相差K-1个节点,即当前面的节点的下一个节点的next等于空时,此时当前节点已到链表最有一个节点,则后面的节点则就是要寻找的倒数第K个节点。 public ListNode FindKthToTail(ListNode head,int k) { if (head == null || k <= 0) { ...

程序旋儿 1454

查找单链表的倒数第k个元素

算法1和算法2的时间复杂度都是O(n),但是前这需要2个循环,一个辅助指针变量,后者只需要一次循环,但是需要2个辅助指针变量;实际上,虽然算法1需要2次循环,但是和算法2需要做的指针刷新操作的次数是相当的,算法1内部每次循环执行1次指针刷新,而算法2内部每次循环执行大约2次刷新。以下这段代码用C语言编写,定义了一个单链表结构,并包含一个函数用以查找链表的倒数第。个元素,算法复杂度显然至少为O(n),本文介绍相关算法的实现。个元素和确定表的长度的时间复杂度都是O(n),但是递归使用的辅助空间比较多,

xuchaoxin1375的博客 943

【LeetCode】输出单链表倒数第 K 个节点

问题描述 输入一个单链表,输出此链表中的倒数第 K 个节点。(去除头结点,节点计数从 1 开始)。 双指针法 解题思想 (1)定义两个指针 p1 和 p2 分别指向链表头节点。 (2)p1 前进 K 个节点,则 p1 与 p2 相距 K 个节点。 (3)p1,p2 同时前进,每次前进 1 个节点。 (4)当 p1 指向到达链表末尾,由于 p1 与 p2 相距 K 个节点,则 p2 指向...

人人都是量化师的专栏 1561

13、输入一个单向链表,输出该链表中倒数第k个结点

题目: 输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。 方法一: 假设整个链表有n个结点,那么倒数第k个结点是从头结点开始的第n-k-1个结点(从0开始计数)。如果我们能够得到链表中结点的个数n,那我们只要从头结点开始往后走n-k-1步就可以了。如何得到结点数n?这个不难,只需要从头开始遍历链表,每经过一个结点,计数器加一就行了。 给

zwb8848happy的专栏 6965
上一篇: HDU3234
下一篇: poj hotel线段树区间合并
Java_beginer1
博客等级 码龄16年 22粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值