数组pos2sno[]是索引,pos2sno[i]=s表示学生s位于位置i。
这个程序应该是最快速的版本。
解题代码:(方法一)
==========
#include
#include
using namespace std;
vector v;
int find(int x){
int ret = - 1;
for(int i = 0; i < (int)v.size(); i++)
if(v[i] == x)
return i;
return ret;
}
int main(){
int n, m, p, q;
// 读入数据
cin >> n >> m;
// 初始化
for(int i=1; i<=n; i++)
v.push_back(i);
// 模拟移动过程
for(int i=1; i<=m; i++) {
cin >> p >> q;
int pos = find§;
v.insert(v.begin() + pos + (q > 0 ? q + 1 : q), p);
v.erase(v.begin() + pos + (q < 0 ? 1 : 0));
}
// 输出结果
cout << v[0];
for(int i = 1; i < (int)v.size(); i++)
cout << " " << v[i];
cout << endl;
return 0;
}
解题代码:(方法二)
==========
#include
using namespace std;
const int N = 1000;
int sno2pos[N+1]; // 学号所在位置
int pos2sno[N+1]; // 位置上的学号
int main(){
int n, m, p, q;
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
最后
由于文案过于长,在此就不一一介绍了,这份Java后端架构进阶笔记内容包括:Java集合,JVM、Java并发、微服务、SpringNetty与 RPC 、网络、日志 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、Java基础、负载均衡、数据库、一致性算法、Java算法、数据结构、分布式缓存等等知识详解。
本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。
对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。
[外链图片转存中…(img-OztXoaey-1711044270387)]
[外链图片转存中…(img-2O9Pjxo9-1711044270388)]