前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >冲刺预推免第一天刷题复习小记

冲刺预推免第一天刷题复习小记

作者头像
glm233
发布2021-08-10 10:28:46
1720
发布2021-08-10 10:28:46
举报
  • 四道pat甲级链表题

1516. 共享

标记一下地址就可以

代码语言:javascript
复制
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,fir,sec,ne[N];
char e[N];
vector<int>a,b;
int st[N];
int main(){
    cin>>fir>>sec>>n;
    for(int i=1;i<=n;i++){
        int add,next;
        char val;
        cin>>add>>val>>next;
        //cout<<add<<" "<<val<<" "<<next<<endl;
        e[add]=val;
        ne[add]=next;
    }
    for(int i=fir;~i;i=ne[i]){
        a.push_back(i);
        st[i]=1;
    }
    for(int i=sec;~i;i=ne[i]){
        if(st[i]){
            printf("%05d\n",i);
            return 0;
        }
        b.push_back(i);
    }
    cout<<-1<<endl;
    return 0;
}

1560. 反转链表

高频考点了属于是

代码语言:javascript
复制
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int fir,n,k,e[N],ne[N];
int main(){
    cin>>fir>>n>>k;
    for(int i=1;i<=n;i++){
        int add,val,next;
        cin>>add>>val>>next;
        e[add]=val,ne[add]=next;
    }
    vector<int>v;
    for(int i=fir;~i;i=ne[i]){
        v.push_back(i);
    }
    for(int i=0;i+k-1<v.size();i+=k){
        reverse(v.begin()+i,v.begin()+i+k);
    }
    for(int i=0;i<v.size();i++){
        if(i+1==v.size()){
            printf("%05d %d -1\n",v[i],e[v[i]]);
        }
        else{
            printf("%05d %d %05d\n",v[i],e[v[i]],v[i+1]);
        }
    }
}

1587. 链表重复数据删除

代码语言:javascript
复制
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int st[N];
int fir,n,e[N],ne[N];
vector<int>a,b;
int main(){
    cin>>fir>>n;
    for(int i=1;i<=n;i++){
        int add,val,next;
        cin>>add>>val>>next;
        e[add]=val,ne[add]=next;
    }
    for(int i=fir;~i;i=ne[i]){
        int val=e[i];
        if(st[abs(val)]){
            b.push_back(i);
        }
        else{
            st[abs(val)]=1;
            a.push_back(i);
        } 
    }
    for(int i=0;i<a.size();i++){
        if(i+1==a.size()){
            printf("%05d %d -1\n",a[i],e[a[i]]);
        }
        else printf("%05d %d %05d\n",a[i],e[a[i]],a[i+1]);
    }
    for(int i=0;i<b.size();i++){
        if(i+1==b.size()){
            printf("%05d %d -1\n",b[i],e[b[i]]);
        }
        else printf("%05d %d %05d\n",b[i],e[b[i]],b[i+1]);
    }
    
}

1626. 链表元素分类

代码语言:javascript
复制
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int fir,n,k,e[N],ne[N];
vector<int>a,b,c;
int main(){
    cin>>fir>>n>>k;
    for(int i=1;i<=n;i++){
        int add,val,next;
        cin>>add>>val>>next;
        e[add]=val,ne[add]=next;
    }
    for(int i=fir;~i;i=ne[i]){
        if(e[i]<0)a.push_back(i);
        else if(e[i]<=k)b.push_back(i);
        else c.push_back(i);
    }
    a.insert(a.end(),b.begin(),b.end());
    a.insert(a.end(),c.begin(),c.end());
    for(int i=0;i<a.size();i++){
        if(i+1==a.size()){
            printf("%05d %d -1\n",a[i],e[a[i]]);
        }
        else printf("%05d %d %05d\n",a[i],e[a[i]],a[i+1]);
    }
}
  • 复习了一会CNN卷积神经网络的内容
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-08-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档