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

牛牛的数组匹配

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

#include <iostream>
#include <cmath>
using namespace std;
int a1[100],b1[100],sum1=0,sum2=0;
// sum1 代表数组a的和
int sum(int i,int j)
{
    int m=0;
    for(int k=i;k<=j;k++)
    {
        m+=b1[k];
    }
    return m;
}
int main() {
    int a, b;
    cin>>a>>b;
    for(int i=0;i<a;i++)
    {
        cin>>a1[i];
        sum1+=a1[i];
    }
    for(int i=0;i<b;i++)
    {
        cin>>b1[i];
        sum2+=b1[i];
    }
    int min = sum1+sum2;
    int m1=0,n1=0;
    //min代表b-a的最小值
    for(int i=0;i<b;i++)
    {
        for(int j=0;j<b;j++)
        {
            int sum2=0;
            sum2=sum(i,j);
            if(abs(sum2-sum1)<min)
			  //我要的是素描sum2-sum1的绝对值最小。这个min如果初始化为sum2不一定大于sum2-sum1的绝对值。
            {
                min = abs(sum2-sum1);
                m1 = i;
                n1 = j;
            }
        }
    }
    for(int i=m1;i<=n1;i++)
    {
        cout<<b1[i]<<" ";
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

人力小鱼姐:实习经历没有什么含金量,咖啡店员迎宾这种就别写了,其他两段包装一下 想找人力相关的话,总结一下个人优势,结合校园经历里有相关性的部分,加一段自我评价
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务