• 【2019腾讯暑期实习生正式批笔试1,2】


    找规律,如果1+2可以表示3以内所有数,1+2+4表示7以内所有数,1+2+4+8表示15以内所有数,,,规律:a[n]<=sum[1~n-1]+1时,可以表示sum[1~n]内所有数

    AC代码

    #include <bits/stdc++.h>
    using namespace std;
    int a[105];
    typedef long long LL;
    int n, m;
    LL sum = 0;
    int who(int i)
    {
        for(int j=i; j<n; j++)
        {
            if(a[j]>sum+1)
                return j-1;
            else if(a[j]==sum+1)
                return j;
        }
        return n-1;
    }
    int main()
    {
        cin>>m>>n;
        for(int i=0; i<n; i++)
        {
            scanf("%d", &a[i]);
        }
        sort(a, a+n);
        int ans= 0;
        for(int i=0; i<n; i++)
        {
            int j = who(i);
            i = j;
            sum += a[j];
            ans++;
            if(sum >= m) break;
        }
        while(sum < m)
        {
            sum += a[n-1];
            ans++;
        }
        printf("%d
    ", ans);
        return 0;
    }

    第二题跟01位置无关,直接统计个数

    #include <bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        int n, a = 0, b = 0;
        cin>>n;
        char s[200004];
        scanf("%s", s);
        int l = strlen(s);
        for(int i=0; i<l; i++)
        {
            if(s[i]-'0' == 0) a++;
            else b++;
        }
        cout<<abs(a-b)<<endl;
        return 0;
    }
  • 相关阅读:
    Kafka Kafka 消费者
    Kafka Kafka Broker
    Kafka Kafka 概述
    php导出pdf
    beyond compare
    markdown示例
    mongo 主从仲裁
    redis 集群 kafka集群 zk集群
    vue
    docker 部署mongodb集群(主、从、仲裁)
  • 原文地址:https://www.cnblogs.com/lesroad/p/10660053.html
Copyright © 2020-2023  润新知