1074 链表翻转(柳神代码思路)yyds
题意:
n,k,翻转链表
思路
采用data[maxn],next[maxn]和list[maxn],ans[maxn]来记录链表
其他的都挺简单的,就是翻转的规律难找:
ans[i]=list[i/k*k+k-1-i%k];
AC代码:
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=100010;
int main(){int n,k,p,sum=0;int data[maxn],next[maxn],list[maxn],ans[maxn];cin >> p >> n >> k;for(int i=0;i<n;i++){int s,d,e;scanf("%d%d%d",&s,&d,&e);data[s]=d;next[s]=e;}for(;p!=-1;p=next[p]){list[sum++]=p;}for(int i=0;i<sum;i++) ans[i]=list[i];for(int i=0;i<sum-sum%k;i++){ans[i]=list[i/k*k+k-1-i%k]; }for(int i=0;i<sum-1;i++){printf("%05d %d %05d\n",ans[i],data[ans[i]],ans[i+1]);}printf("%05d %d -1",ans[sum-1],data[ans[sum-1]]);return 0;
}
1074 链表翻转(柳神代码思路)yyds相关推荐
- c语言双链表排序交换节点_图解:单链表翻转的三种方式!
当我们在聊到链表反转的时候,一定说的都是单链表,双链表本身就具有前驱指针 Prev 和后续指针 next,无需进行翻转. 单链表反转,反转后的效果如下: 看起来很简单,只需要将单链表所有结点的 nex ...
- c语言链表查找的代码与题目,链表的C语言实现之单链表的查找运算_c语言
建立了一个单链表之后,如果要进行一些如插入.删除等操作该怎么办?所以还须掌握一些单链表的基本算法,来实现这些操作.单链表的基本运算包括:查找.插入和删除.下面我们就一一介绍这三种基本运算的算法,并结合 ...
- 链表排序c++代码_[链表面试算法](一) 链表的删除-相关题型总结(6题)
在数据结构的最高层抽象里,只有两种结构,数组和链表.这两种结构,是所有其他数据结构实现的基础.队列和栈,可以用链表和数组来实现.图,可以用邻接表和邻接矩阵来实现,其中,邻接表就是链表,邻接矩阵就是数组 ...
- 将单链表翻转的两种方法
单链表翻转很容易理解,例如: 输入: NODE1->NODE2->NODE3->NODE4->NODE5->NULL 输出: NODE5->NODE4->NO ...
- 编程算法/面试 - K链表翻转
K链表翻转 版权所有, 禁止转载, 如有需要, 请站内联系. 本文地址: http://blog.csdn.net/caroline_wendy 题目: 给出一个链表和一个数k, 比如链表1→2→3→ ...
- pat甲级1014柳神代码解析自学复盘用
这道题我自己是很没头绪,感觉这种题没什么算法但却很难. 这里有点抽象类的感觉, 1,首先,对于输入的每个人的办事时间,开辟了time[]数组来存储每个人的时间,实际上每个人也只有他的时间信息和下标信息 ...
- 剑指Offer(10)有环链表 翻转链表
剑指offer(10) 有环链表 反转链表 题目: 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null. 思路: 快慢指针,当前一个指针和后一个指针相遇时,有环,提前结束则无. ...
- 单链表的基本操作代码实现(C语言版)
目录 前言: 单链表的基本操作 准备工作(头文件.各种宏定义以及结构体定义) 一.较简单操作 1.单链表的初始化 2.判断单链表是否为空表 3.单链表的销毁 4.单链表的清空 5.求单链表的表长 二. ...
- 【电机应用控制】——直流有刷电机驱动板/编码器介绍PID算法实操代码思路
目录 前言 一.电机简介 二.直流有刷电机 1.基本知识 2.直流有刷驱动板 3.编码器介绍 三.PID算法 四.实操思路 1.单环控制 2.双环控制 3.三环控制 拓:闭环死区 总结 前言 声明:学 ...
最新文章
- CentOS7.5常用命令整理
- 织梦手机网站建设 并配置二级域名
- 人生第一次手术:0817
- 上网课的心得体会1000字_上网课心得体会300字 上网课的心得体会
- C语言依次显示图片,c语言能显示图片吗
- XidianOJ 1090 爬树的V8
- 贪吃蛇代码c语言改分,刚学C语言,想写一个贪吃蛇的代码
- 基于IP子网将加域的电脑移动到不同的OU
- 150分试卷c语言,连续5道C语言题目一共送150分啊,题目2.一个农场有头母牛,现 爱问知识人...
- PyTorch学习—21.GPU的使用
- IOS 蓝牙开发(六)蓝牙手柄 GameController开发
- 修改Android模拟器存储位置,更改AndroidAVD模拟器创建路径位置的方法
- 2022年京东年货节红包雨攻略,年货节红包最高领8888元红包
- 解决 Sublime Text 中文样式显示异常问题
- juns java,Java中的基本數據類型
- 饭店合同免费下载|股份合同免费|餐厅股份合作协议书
- 计算机毕业设计ssm吃到撑零售微商城
- 地图标注源码 php,百度地图设置坐标,标注坐标地理位置
- Bootstrap日期控件,实现日期控件只选择不准输入效果
- 【深度学习】模型部署的错误整理
热门文章
- 如何用VBA从身份证号码中提取性别
- 项目沟通管理流程的6大规范步骤
- 使用jstack查看线程
- Android Studio导入ZXING
- 【论文笔记_知识蒸馏_2022】Knowledge Distillation with the Reused Teacher Classifier
- OAuth2学习(一)——初识OAuth2
- 软考 - 10 智能家居管理系统
- NavicatPremium写的MySQL文件去哪?
- 记录:d3实现刻度尺
- python无法启动0xc0000022_无法正常启动0xc0000022_0xc0000022一键修复教程 - 系统家园...