机试复试准备中--梦校真题

news2024/10/7 0:52:20

  • 一、矩阵转置
  • 二、统计单词
    • 写法一:读取一整行
    • 写法二:依次读入每一个单词
  • 三、二叉排序树(DFS)
  • 四、IP地址
  • 五、特殊排序
  • 六、a+b(高精度加法)
  • 七、奇偶校验
  • 八、最大的两个数
  • 九、二叉树遍历(DFS)
  • 十、成绩排序
  • 十一、守形数
  • 十二、矩阵最大值
  • 十三、最小年龄的3个职工(结构体排序)
  • 十四、对称矩阵
  • 十五、A+B(读取问题)
  • 十六、打印日期(闰年的判断)
    • 写法一:for
  • 写法二:while更好
  • 十七、大数排序
  • 二十、回文字符串
  • 二十一、找位置(STL容器)
  • 二十二、阶乘
  • 二十三、八进制
  • 二十四、最长&最短文本(STL)
  • 二十五、梅森素数(素数)
  • 二十六、单词个数统计
  • 二十七、进制转换(巧)
  • 二十八、排序去重
  • 二十九、十进制加密
  • 三十、删除数字()

看了最近几年的夏令营的真题,感觉不算特别难,相对于有算法经历的人来说不算难,但是可能对我这种掌握的不是很好的人来说,很难拿到满分。

机试:2h,4道题
会有成绩排名

一、矩阵转置

在这里插入图片描述
这题应该是放在第一道题。很简单,考察的二维数组的应用。

#include<bits/stdc++.h>

using namespace std;
const int N=100;
int a[N][N];

int main()
{
    int n;
    cin>>n;
    for (int i=0;i<n;i++)
    for (int j=0;j<n;j++)
        cin>>a[i][j];
   for (int i=0;i<n;i++)
    for (int j=0;j<n;j++)
       {
         cout<<a[j][i];
         if (j==n-1)
            cout<<endl;
         else cout<<" ";
       }

    return 0;
}

二、统计单词

在这里插入图片描述
这也是很简单的一道题,主要就是如何读取这一行。

写法一:读取一整行

getline(cin,s)可以读取一行。

#include<bits/stdc++.h>

using namespace std;

int main()
{
    string s;
    getline(cin,s);
    int ans=0,f=0;
    for(int i=0;i<s.length();i++)
    {
        if (s[i]=='.')cout<<ans;
       if (s[i]!=' ')ans+=1,f=0;
       if (s[i]==' '&&f==0)
       {
           cout<<ans<<" ";
           ans=0;
           f=1;
       }

    }
    return 0;
}

写法二:依次读入每一个单词

#include<bits/stdc++.h>
using namespace std;

int main()
{
    string st;
    while(cin>>st){
        if(st[st.size()-1]!='.')cout<<st.size()<<' ';
        else cout<<st.size()-1<<' ';
    }
}

三、二叉排序树(DFS)

在这里插入图片描述
递归建树
开始时根节点为 −1
遍历发现比根节点大则遍历右子树
反之遍历左子树

#include<bits/stdc++.h>

using namespace std;
const int N=110;
int n;
int root;
unordered_map<int,int>l,r;

int dfs(int f,int x)
{
    if(f==-1)
    {
        root=x;
        return f;
    }
    if (x>f)
    {
        if(!r.count(f))/检查这个元素是否存在
        {
            r[f]=x;
            return f;
        }
        else return dfs(r[f],x);
    }
    if(x<f)
    {
        if(!l.count(f))
        {
            l[f]=x;
            return f;
        }
        else return dfs(l[f],x);
    }
    
}

int main()
{
    cin>>n;
    root=-1;
    int x;
    while(n--)
    {
        cin>>x;
        cout<<dfs(root,x)<<endl;
    }
    return 0;
}


四、IP地址

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;

bool check(int a)
{
    if(0<=a&&a<=255)
        return true;
    return false;
}

int main()
{
    int a,b,c,d;
    while(~scanf("%d.%d.%d.%d",&a,&b,&c,&d))
    {
        if(check(a)&&check(b)&&check(c)&&check(d))
            printf("Yes!\n");
        else printf("No!\n");
    }
    return 0;
}

五、特殊排序

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;

const int N=1010;
int a[N];

int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
        cin>>a[i];
    sort(a,a+n);
    cout<<a[n-1]<<endl;
    if(n==1) cout<<"-1";
    else for (int i=0;i<n-1;i++)
    cout<<a[i]<<" ";
    return 0;
}

六、a+b(高精度加法)

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;

int a[1010],b[1010],c[1010];

int main()
{
    string s1,s2;
    while(cin>>s1>>s2)
    {
        memset(a,0,sizeof a);
        memset(b,0,sizeof b);
        memset(c,0,sizeof c);
        for(int i=0;i<s1.length();i++)a[i]=s1[s1.length()-i-1]-'0';
        for(int i=0;i<s2.length();i++)b[i]=s2[s2.length()-i-1]-'0';
        int l=max(s1.length(),s2.length());
        int f=0;
        for (int i=0;i<l;i++)
        {
             c[i]=a[i]+b[i];
             if(f==1)c[i]+=1,f=0;
             if(c[i]>=10)c[i]-=10,f=1;
        }
        if(f==1)cout<<"1";
        for(int i=l-1;i>=0;i--)cout<<c[i];
        cout<<endl;
    }

    return 0;
}

七、奇偶校验

在这里插入图片描述
感觉这个就是模拟题!

#include<bits/stdc++.h>

using namespace std;


int main()
{
   string s,ans="";
   cin>>s;
   int f;
   for(int i=0;i<s.length();i++)
   {
       int num=s[i];
       f=0,ans="";
       for(int j=6;j>=0;j--)
       {
           if ((1<<j)<=num)
           {
               ans+="1";
               f++;
                num-=1<<j;
           }
           else ans+="0";
       }
       if (f&1)cout<<0<<ans<<endl;
       else cout<<1<<ans<<endl;
   }

    return 0;
}

八、最大的两个数

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;

int a[8][8];
int b[8][8];

int main()
{
   for(int i=0;i<4;i++)
    for(int j=0;j<5;j++)
    cin>>a[i][j];
    int ans1,ans2;
   for(int i=0;i<5;i++)
   {
       ans1=a[0][i],ans2=a[1][i];
        for (int j=2;j<4;j++)
   {
       if(a[j][i]>min(ans1,ans2))
       {
           if(ans1>ans2)ans2=a[j][i];
           else ans1=ans2,ans2=a[j][i];
       }
   }
   b[0][i]=ans1,b[1][i]=ans2;

   }
   for(int i=0;i<2;i++)
  {
        for (int j=0;j<5;j++)
   {
    cout<<b[i][j]<<" ";
   }
   cout<<endl;
  }
    return 0;
}

九、二叉树遍历(DFS)

在这里插入图片描述
这个很考察思维和字符串的使用。

#include<bits/stdc++.h>

using namespace std;

void dfs(string pre,string in)
{
    if(pre.empty())return;
    char root=pre[0];
    int k=in.find(root);//查找这个根节点在哪个位置
    dfs(pre.substr(1,k),in.substr(0,k));
    dfs(pre.substr(k+1),in.substr(k+1));
    cout<<root;

}

int main()
{
    string pre,in;
    while(cin>>pre>>in)
    {
        dfs(pre,in);
        cout<<endl;
    }


    return 0;
}

十、成绩排序

#include <bits/stdc++.h>
using namespace std;

struct st{
string name;
int age;
int grade;
bool operator <(const st &x)const{
    //将学生数据按成绩从低到高排序,如果成绩相同则按姓名字符的字典序排序,如果姓名的字典序也相同则按照学生的年龄从小到大排序
  
    if(grade==x.grade&&name!=x.name) return name<x.name;
    if(grade==x.grade&&name==x.name) return age<x.age;
    return grade<x.grade;
}
};
st stu[1010];
int main()
{
    int t;
    cin>>t;
    for(int i=0;i<t;i++)
    {
        cin>>stu[i].name>>stu[i].age>>stu[i].grade;
    }
    sort(stu,stu+t);
    for(int i=0;i<t;i++)
        {
            cout<<stu[i].name<<" "<<stu[i].age<<" "<<stu[i].grade<<endl;
        }
    return 0;
}

十一、守形数

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;


int main()
{
    int n;
    while(~scanf("%d",&n))
    {
        if ((n*n)>=10&&n==(n*n)%10)
            printf("Yes!\n");
        else if((n*n)>=100&&n==(n*n)%100)
            printf("Yes!\n");
        else printf("No!\n");
    }
    return 0;
}

十二、矩阵最大值

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;
const int N=105;
int a[N][N];

int main()
{
    int m,n,res,ans,sum;
    while(~scanf("%d%d",&m,&n))
    {
        for (int i=0; i<m; i++)
        {
            res=-1,ans=-1,sum=0;
            for(int j =0; j<n; j++)
            {
                scanf("%d",&a[i][j]);
                sum+=a[i][j];
                if(a[i][j]>ans)
                {
                    ans=a[i][j];
                    res=j;
                }
            }
            a[i][res]=sum;
        }
        for(int i=0; i<m; i++)
        {
            for(int j=0; j<n; j++)
            {
                cout<<a[i][j]<<" ";
            }
            cout<<endl;
        }
    }

    return 0;
}

十三、最小年龄的3个职工(结构体排序)

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;
const int N=35;
 struct node {
int num;
string name;
int age;
}p[N];

bool cmp(node x,node y)
{
    if(x.age!=y.age)
        return x.age<y.age;
    else if(x.num!=y.num)
        return x.num<y.num;
    else return x.name<y.name;
}


int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>p[i].num>>p[i].name>>p[i].age;
    }
    sort(p,p+n,cmp);
    for(int i=0;i<min(n,3);i++)
        cout<<p[i].num<<" "<<p[i].name<<" "<<p[i].age<<endl;
    return 0;
}

十四、对称矩阵

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;
const int N=110;
int a[N][N];

int main()
{
    int n;
    while(~scanf("%d",&n))
    {
        int f=1;
        for(int i =0;i<n;i++)
            for (int j=0;j<n;j++)
            scanf("%d",&a[i][j]);
            for(int i=0;i<n;i++)
            for(int j=i+1;j<n;j++)
            if(a[i][j]!=a[j][i])
            {
                f=0;
                break;
            }
            if(f==1)
                printf("Yes!\n");
            else printf("No!\n");
    }


    return 0;
}

十五、A+B(读取问题)

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;

int main()
{
    string A,B;

    while(cin>>A>>B)
    {
        int a=0,b=0,f=1;
        for(int i=0; i<A.length(); i++)
        {
            if(A[i]=='-')
            {
                f=-1;
                continue;
            }
            if(A[i]==',')
                continue;
            a=a*10+A[i]-'0';
        }
        a=f*a;
        f=1;
        for(int i=0; i<B.length(); i++)
        {
            if(B[i]=='-')
            {
                f=-1;
                continue;
            }
            if(B[i]==',')
                continue;
            b=b*10+B[i]-'0';
        }
        b=f*b;
        long long ans;
        ans=a+b;
        cout<<ans<<endl;
    }
    return 0;
}

十六、打印日期(闰年的判断)

在这里插入图片描述

写法一:for

#include<bits/stdc++.h>

using namespace std;
int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

int main()
{
    int y,d;
    while(cin>>y>>d)
    {
        int m=1,day=0;
        if(y%100!=0&&y%4==0||y%400==0)
                    month[2]=29;
                else month[2]=28;
        for(int i=0;i<d;i++)
        {
            day++;
            if(month[m]<day)
            {
                m++;
                day=1;
            }
        }
        printf("%04d-%02d-%02d\n",y,m,day);
    }
    return 0;
}

写法二:while更好

#include<bits/stdc++.h>

using namespace std;
int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

int main()
{
    int y,d;
    while(cin>>y>>d)
    {
        int m=1,day=0;
        if(y%100!=0&&y%4==0||y%400==0)
                    month[2]=29;
                else month[2]=28;
        for(int i=0;i<d;i++)
        {
            day++;
            if(month[m]<day)
            {
                m++;
                day=1;
            }
        }
        printf("%04d-%02d-%02d\n",y,m,day);
    }
    return 0;
}

十七、大数排序

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;
const int N=110;
string a[N];
bool cmp(string x,string y)
{
    if(x.length()!=y.length())
        return x.length()<y.length();
    return x<y;
}

int main()
{
   int n;
   cin>>n;
   for(int i=0;i<n;i++)cin>>a[i];
   sort(a,a+n,cmp);
   for(int i=0;i<n;i++)cout<<a[i]<<endl;
    return 0;
}

二十、回文字符串

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;

int main()
{
  string s;
  while(cin>>s)
  {
      int i=0,j=s.length()-1,f=1;
      while(i<j)
      {
          if (s[i]==s[j])i++,j--;
          else {
            f=0;
            break;
          }
      }
      if(f==0)cout<<"No!"<<endl;
      else cout<<"Yes!"<<endl;
  }
    return 0;
}

二十一、找位置(STL容器)

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;

int main()
{
  string s;
  cin>>s;
  int len=s.length();
  map<char,vector<int>>a;
  map<char,int>b;
  for(int i=0;i<len;i++)a[s[i]].push_back(i);
  for(int i=0;i<len;i++)
  {
      int len=a[s[i]].size();
      if(len>1&&!b[s[i]])
      {
          for(int j=0;j<len;j++)
          {
              if(j==0)printf("%c:%d",s[i],a[s[i]][j]);
              else printf(",%c:%d",s[i],a[s[i]][j]);
          }
          b[s[i]]=1;
          cout<<endl;
      }
  }
    return 0;
}

二十二、阶乘

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;

long long p[15];

int main()
{
  int n;
  cin>>n;
  p[1]=1;
  for(int i=2;i<=10;i++)
    p[i]=p[i-1]*i;
    int y1=0,y2=0;
    int t=1;
    while(t<=n&&t&1)
    {
        y1+=p[t];
        t+=2;
    }
    t=2;
     while(t<=n&&(t&1)==0)
    {
        y2+=p[t];
        t+=2;
    }
    cout<<y1<<" "<<y2;
    return 0;
}

二十三、八进制

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;


int main()
{
  int n,ans=0,res=1;
  while(cin>>n)
  {
      while(n)
      {
          int x=n%8;
          ans=ans+x*res;
          res*=10;
          n/=8;
      }
      cout<<ans<<endl;
      ans=0;
      res=1;

  }
    return 0;
}

二十四、最长&最短文本(STL)

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;

vector<int>len;

int main()
{
    unordered_map<int,vector<string>>a;
    string s;
    while(cin>>s)
    {
        a[s.size()].push_back(s);
        len.push_back(s.size());
    }
    sort(len.begin(),len.end());
    int hh=len[0],tt=len[len.size()-1];
    for(auto c:a[hh])
        cout<<c<<endl;
    for(auto c:a[tt])
        cout<<c<<endl;
    return 0;
}

二十五、梅森素数(素数)

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;

bool is_prime(long long x)//判断是否为素数
{
    if(x<2)return false;
    for(long long i=2;i*i<=x;i++)
        if(x%i==0)return false;
    return true;
}

int main()
{
   long long n;
   cin>>n;
   long long x=2,c=1,cnt=1;
   while(c<=n)
   {
       if(is_prime(c))printf("M(%lld)=%lld\n",cnt,c);
       cnt++;
       x<<=1;
       c=x-1;
   }
    return 0;
}

二十六、单词个数统计

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;

int a[30];

int main()
{
   string s;
   getline(cin,s);
   int ans1=0,ans2=1,f=0,_max=0;
   for(int i=0;i<s.size();i++)
   {
       if(s[i]==' '){f=1;continue;}
       if(f==1)ans2+=1,f=0;
       ans1+=1;
       a[tolower(s[i])-'a']+=1;
       _max=max(_max, a[tolower(s[i])-'a']);
   }
cout<<ans1<<endl<<ans2<<endl;

for(int i=0;i<26;i++)
{
    if(a[i]==_max)
    cout<<(char)('a'+i)<<" ";
}
cout<<endl<<_max;
    return 0;
}

二十七、进制转换(巧)

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;
int h[35];
int main()
{
    string s;
    cin>>s;
    int l=s.size(),ans=0,t,x;
    t=pow(12,l-1);
    for(int i=0;i<l;i++)
    {
        if(s[i]>='a')x=s[i]-'a'+10;
        else x=s[i]-'0';
        cout<<x<<" ";
        ans+=t*x;
        t/=12;
    }
    cout<<endl<<ans<<endl;
    for(int i=0;i<=31;i++)//转换为二进制
    {
        h[i]=ans&1;
        ans>>=1;
    }
    for(int i=31,j=0;i>=0;i--)
    {
        cout<<h[i];
        j++;
        if(j==8)
        {
            cout<<" ";
            j=0;
        }
    }
    return 0;
}

二十八、排序去重

在这里插入图片描述

#include<bits/stdc++.h>

using namespace std;

vector<int> a;
int main()
{
    int n,x;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>x;
        a.push_back(x);
    }
    sort(a.begin(),a.end());
     for(int i=0;i<a.size();i++)
            cout<<a[i]<<" ";
            cout<<endl;
    for(int i=0;i<a.size();i++)
     {
         if(a[i]!=a[i+1])
            cout<<a[i]<<" ";
     }


    return 0;
}

二十九、十进制加密

在这里插入图片描述
这道题考察的是位运算,自己有些生疏了,可以做这道题熟络一下。

#include<bits/stdc++.h>

using namespace std;

int a[]={0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1};
int b[]={1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0};
int c[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0};
int main()
{
   int n,x=0,e=0,p=0;
   cin>>n;
   for(int i=0;i<31;i++)
   {
       if((n&(1<<i))==0)continue;
       if(a[i]==1){x|=(1<<i);}
         if(b[i]==1){e|=(1<<i);}
           if(c[i]==1){p|=(1<<i);}
   }
    long long  ans=x+(e<<8)+(p>>24);
    cout<<ans;
    return 0;
}
//010011010010
//000011010000
//010000000010
//000000000000

三十、删除数字()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/679803.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++学习】C++入门 | 引用 | 引用的底层原理 | auto关键字 | 范围for(语法糖)

写在前面&#xff1a; 上一篇文章我介绍了缺省参数和函数重载&#xff0c; 探究了C为什么能够支持函数重载而C语言不能&#xff0c; 这里是传送门&#xff0c;有兴趣可以去看看&#xff1a;http://t.csdn.cn/29ycJ 这篇我们继续来学习C的基础知识。 目录 写在前面&#x…

正交编码与正交沃尔什函数详解

本专栏包含信息论与编码的核心知识&#xff0c;按知识点组织&#xff0c;可作为教学或学习的参考。markdown版本已归档至【Github仓库&#xff1a;https://github.com/timerring/information-theory 】或者公众号【AIShareLab】回复 信息论 获取。 文章目录 正交编码正交编码的…

Spring Boot 集成 WebSocket 实现服务端推送消息到客户端

假设有这样一个场景&#xff1a;服务端的资源经常在更新&#xff0c;客户端需要尽量及时地了解到这些更新发生后展示给用户&#xff0c;如果是 HTTP 1.1&#xff0c;通常会开启 ajax 请求询问服务端是否有更新&#xff0c;通过定时器反复轮询服务端响应的资源是否有更新。 在长…

css基础(二)

目录 1. CSS 的复合选择器 1.1 什么是复合选择器 1.2 后代选择器(重要&#xff09; 1.3 子选择器(重要&#xff09; 1.4 并集选择器(重要&#xff09; 1.5 伪类选择器 1.6 链接伪类选择器 1.7 :focus伪类选择器 1.8 复合选择器总结 二、 CSS 的元素显示模式 2.1什么是元素显示模…

多线程编程和并行计算的实例:期货交易及打车软件算法

多线程编程和并行计算的实例:期货交易及打车软件算法 解决现实生活中的问题时&#xff0c;多处理器和多核系统的普及使并行计算成为一个关键的性能提升手段。在这篇博客中&#xff0c;我们将通过深入讨论两个引人入胜而又具有实际意义的场景——期货交易和打车匹配算法&#xf…

CSS圆角进化论

CSS圆角发展过程 大致经历了3个阶段&#xff0c;包括&#xff1a; 背景图片实现圆角CSS2.0标签模拟圆角CSS3.0圆角属性&#xff08;border-radius属性)实现圆角 ☛背景图片实现圆角&#xff1a;使用背景图片实现圆角的方式很多&#xff0c;实现的方式和圆角的切图方式关系密…

AI绘图软件分享:Midjourney 基础教程(三)

大家好&#xff0c;我是权知星球&#xff0c;今天继续给大家分享Midjourney 基础教程&#xff08;三&#xff09;&#xff1a;Midjourney 图生图。 刚开始学习使⽤ AI 绘画时&#xff0c;⼤部分⼈的绘画⽅式&#xff1a; 有⼀个想象中的画⾯&#xff0c;⽤中⽂将这个画⾯描述…

【文件操作与IO】Java中如何操作文件

目录 Java 中操作文件 File 概述 属性 构造方法 方法 代码示例 文件内容的读写 —— 数据流 InputStream 概述 FileInputStream 概述 利用 Scanner 进行字符读取 OutputStream 概述 利用 OutputStreamWriter 进行字符写入 利用 PrintWriter 找到我们熟悉的方法 代码…

D. A Wide, Wide Graph(树的直径)

Problem - 1805D - Codeforces 给定一棵包含n个节点的树&#xff08;一个无环联通图&#xff09;&#xff0c;对于一个固定的整数k&#xff0c;定义Gk为一个具有n个节点的无向图&#xff0c;其中只有当在给定树中节点u和v之间的距离至少为k时才存在边。 对于从1到n的每个k&…

undefined reference to `tputs‘

昨天在Debian11 上编译 bluez 的时候&#xff0c;看这里&#xff0c;出现了如下这个错误&#xff0c;一般这种未定义的错误提示都是没有链接正确的库导致&#xff0c;但是搞了很久都没解决。 奇怪的是之前在 Centos 上编译却没有遇到这个问题&#xff0c;而且在 configure 时也…

做Java开发,真的“穷途末路”了吗?浅谈从2018-2023年,这行到底“卷”成了啥样

文章目录 一、火爆的行业1、裁员潮引发的行业惶恐2、国情下的行业现状3、时代的快速发展 二、Java开发“卷”成了啥样1、2013年2、2018年3、2013年4、真的需要这么多知识吗 三、大龄程序员何去何从引用来处 一、火爆的行业 “程序员”这个代名词&#xff0c;似乎总是跟“高薪”…

基于多进程并发-进程通讯之管道(pipe)

一、管道&#xff08;pipe&#xff09; 所谓的管道&#xff0c;就是内核⾥⾯的⼀串缓存&#xff08;Pipe&#xff09;。一个进程从管道的⼀端写⼊的数据&#xff0c;实际上是缓存在内核中的&#xff0c;另⼀端读取&#xff0c;也就是从内核中读取这段数据。 特性&#xff1a;…

windwos2016 由于没有远程桌面授权服务器可以提供许可证

一、问题&#xff1a; 经常会遇到&#xff0c;server2016、server2012、server2008操作系统&#xff0c;安装远程桌面服务之后没有激活&#xff0c;经过120天到期之后&#xff0c;没办法再使用&#xff0c;重新安装激活远程桌面服务也不能用。 二、具体的报错如下图&#xff…

归并排序详解-附Python代码

排序思路 将输入的列表递归分解成若干个有序的子列表&#xff08;只含有一个元素&#xff09;&#xff1b;将分解后的有序子列表两两归并成一个新的有序列表&#xff1b;重复步骤2&#xff0c;直到完成排序。 重点&#xff1a;如何定义一个归并函数&#xff0c;可以将两个有序…

Qt-自定义控件

Qt-自定义控件 简单使用 首先创建一个工程 在现有的工程上添加文件&#xff0c;选择Qt设计师界面类 选择Widget 添加两个控件之后&#xff0c;选择水平布局 将刚刚自定义的控件smallWidget放置在原始的控件中 首先在原始工程的ui界面 随便放置一个widget 选择&#xff…

我的内网渗透-代理转发(1)

概念 网关 必须经过 用来进行路由转发的设备&#xff0c;网关的作用是让不同网段之间能够通信 代理 委托访问 无论代理后面挂了几台设备&#xff0c;都认为是从代理进行访问&#xff0c;对外只表现为代理一台。外部认为是与代理进行…

计算机提示xinput1_3.dll丢失,三个详细修复方法

打开《绝地求生》游戏的时候&#xff0c;计算机提示xinput1_3.dll丢失&#xff0c;无法启动运行。重新安装一遍游戏依然无法启动运行。这个是由于xinput1_3.dll文件是属于电脑系统DirectX9.0的一个组件&#xff0c;用于提供输入和输出功能。它包含了各种接口和函数&#xff0c;…

spi控制器和spi设备的加载过程

spi控制器都是挂在platform总线上的&#xff0c;所以要等platform总线上的设备驱动加载spi控制器完成后才能加载spi设备。 1.spi控制器加载 由spi控制器驱动程序调用spi_register_master来完成spi控制器驱动加载 int spi_register_master(struct spi_master *master) { ... s…

【ubuntu20.04上构建qemu启动linux kernel】

参考Ubuntu环境下使用qemu搭建arm64运行环境 - 简书 一、交叉编译工具 sudo apt install gcc-aarch64-linux-gnu aarch64-linux-gnu-gcc -v 二、linux内核编译 git clone https://github.com/torvalds/linux.git cp arch/arm64/configs/virt.config .config make ARCHarm64 m…

并网逆变器杂记1-VO-DCC双环控制

NOTE1&#xff1a; 母线电压恒定的条件是&#xff1a; PV输出功率 &#xff0c;等于逆变侧消耗功率 假设&#xff1a;PV侧给母线输入10A &#xff0c;但是逆变侧消耗1A&#xff0c;此时母线Udc会升高 反之PV输入1A&#xff0c;消耗10A&#xff0c;母线Udc会降低。 NOTE2&#…