zoukankan      html  css  js  c++  java
  • 2020字节跳动校园招聘算法方向第二场考试题解(部分)

    记第一次笔试,真实菜得扣jio!

    第一题:

     1 #include <iostream>
     2 #include <cstdio>
     3 using namespace std;
     4 int main()
     5 {
     6     int t;
     7     scanf("%d",&t);
     8     int a[100005],b[100005];
     9     int i,j,n;
    10     while(t--){
    11         scanf("%d",&n);
    12         int l=-1,r=-1;
    13         for(int i=0;i<n;i++){
    14             scanf("%d",&a[i]);
    15         }
    16         for(int i=0;i<n;i++){
    17             scanf("%d",&b[i]);
    18             if(b[i]!=a[i]){
    19                 if(l==-1){
    20                     l=i;
    21                 }
    22                 r=i;
    23             }
    24         }
    25         if(l==-1&&r==-1){
    26             cout<<"YES"<<endl;
    27             continue;
    28         }
    29         int k=b[l]-a[l];
    30         int flag=1;
    31         for(int i=l;i<=r;i++){
    32             a[i]+=k;
    33             if(b[i]!=a[i]){
    34                 flag=0;
    35                 break;
    36             }
    37         }
    38         if(flag) cout<<"YES"<<endl;
    39         else cout<<"NO"<<endl;
    40     }
    41     return 0;
    42 }

    第二题:思路不对 gg

    第三题:

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <algorithm>
     4 using namespace std;
     5 int main()
     6 {
     7     int n,m,i,j,t;
     8     int a[1000005],b[1000005];
     9     scanf("%d%d",&n,&m);
    10     for(i=0;i<n;i++){
    11         scanf("%d",&a[i]);
    12     }
    13     for(i=0;i<m;i++){
    14         scanf("%d",&b[i]);
    15     }
    16     sort(a,a+n);
    17     sort(b,b+m);
    18     i=n-1;j=m-1;
    19     long long sum=0;
    20     while(i>=0&&j>=0){
    21         if(b[j]>=a[i]){ //可以使用优惠券
    22             t=b[j]-a[i];
    23             sum+=t;
    24             //printf("%d %d %d
    ",a[i],b[j],sum);
    25             j--;
    26         }else{ //此优惠卷不行 尝试下一个
    27             i--;
    28         }
    29     }
    30     while(j>=0){
    31         sum+=b[j];
    32         j--;
    33     }
    34     printf("%lld
    ",sum);
    35     return 0;
    36 }

    第四题:没思路gg

  • 相关阅读:
    libTIFF 图像读取与保存
    MarkDown写作之嵌入LaTeX和HTML
    R语言学习(一)前言
    Multi-Byte Character Set & Unicode Character Set
    C/C++ ShellExecuteEx调用exe可执行文件
    C/C++中相对路径与绝对路径以及斜杠与反斜杠的区别
    观察者模式
    责任链模式
    桥接模式
    void及void指针含义的深刻解析
  • 原文地址:https://www.cnblogs.com/wydxry/p/12688267.html
Copyright © 2011-2022 走看看