题解 | #牛牛的数组匹配#

牛牛的数组匹配

https://www.nowcoder.com/practice/3d3406f4a7eb4346b025cc592be5b875

#include <iostream>
using namespace std;

int a[2];
void array_fun(int sum,int n, int m,int *p)
{
    int n_num=1,sum1=0,before_gap=10000;
    if(n>m)
    {
        a[0]=0;
        a[1]=m;
        return;
    }
    for(int i=0;i<m;i++)
    {
        n_num=1;
        while(n_num!=m+1)
        { 
            sum1 = 0;
            for(int j=i;j<n_num;j++)
            {
                sum1 += *(p+j);
            }
        //a[i]=sum1;
            n_num++;
            if (abs(sum-sum1)<before_gap) {
                before_gap=abs(sum-sum1);
                a[0]=i;
                a[1]=n_num-1-i;//减去一个自增,减去一个多数因为,这里是代表总的个数
            }
        }
    }
    return;
    
}

int main() {
    int n,m,n_num[10],m_num[10],sum=0,index;
    cin>>n>>m;
    for(int i=0;i<n;i++)
    {
        cin>>n_num[i];
        sum+=n_num[i];
    }
    for(int i=0;i<m;i++)
    {
        cin>>m_num[i];
    }
    array_fun(sum,n,m,m_num);
    for(int i=a[0];i<a[0]+a[1];i++)
    {
        cout<<m_num[i]<<" ";
    }


    
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

想润的芹菜人狠话不多:把其中一个老总放中间都会得罪另一个
点赞 评论 收藏
分享
害怕一个人的小黄鸭胖乎乎:笑死了,没有技术大牛,招一堆应届生,不到半年,代码就成屎山了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务