桶装水问题 C++实现

// 桶装水问题
int  main()
{
    for(int k=0;k<20;k++)
    {
        int A[7]={0};
        for(int ii=0;ii<7;ii++)
        {
            int tmep=rand()%6+1;
            cout<<tmep<<" ";
            A[ii]=tmep;
        }
        cout<<endl;
        int len=sizeof(A)/sizeof(*A); // 长度,7
        int res=0; //结果变量
        int L=0;  // 最左边界
        int R=len-1; //最右边界
        int last=0; //上次遍历过程中最低的高度
        while(L<R)
        {
            int distance=R-L;// 当前最左和最右的长度距离
            int temp=A[L]>A[R]?A[R--]:A[L++];
            //更新最左和最右中最低的那个高度,并移动对应下标
            int hight=temp>last?temp-last:0;
            //高度是因为当前的高度大于之前的高度,则更新高度差,否则不更新高度差,并设定为0。
            // 比如 3 2 3 4;
            // 第一步是 距离为3,高度为3,L++, 高度差变为3;
            // 第二步:距离为2,高度为2,但是比之前高度3小,所以高度差设定为0,L++;
            // 第三步:距离为1,高度为3,但是之前高度3小,所以高度差设定为0,L++;
            // 第四步:L<R 不成立,则结束循环;

            res+=(distance)*hight;
            last=hight>0?temp:last;
            // 如果高度差大于0,则说明当前遍历的最小高度都比之前的高度大,说明此时能够装高度差那么多水。
        }
        cout<<res<<endl;
    }

    return 0;
}


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
奇店桶装水小程序v1.3.9是一款为方便用户购买桶装水而设计的小程序。通过该小程序,用户可以轻松订购、支付和配送桶装水。 首先,在这个版本的奇店桶装水小程序中,我们对界面进行了优化,使得用户在浏览和选购商品时更加方便和直观。我们采用了简洁清晰的设计,让用户能够一目了然地找到自己需要的产品。 其次,在这个版本中,我们改进了支付流程,提供了多种支付方式,如微信支付、支付宝、银联卡等,以满足不同用户的需求。用户可以选择最适合自己的支付方式完成订单支付,提高了支付的便利性和灵活性。 另外,在奇店桶装水小程序中,我们加入了个性化的推荐功能。通过分析用户的购买历史和兴趣偏好,系统可以向用户推荐相似的产品,帮助用户更快地找到适合自己的桶装水。这大大提高了用户体验和购物效率。 最重要的是,我们优化了配送服务。在这个版本中,我们与多家配送公司合作,为用户提供快速和可靠的配送服务。用户只需提供收货地址,在预定时间内就可以收到新鲜的桶装水。同时,我们还提供了在线查询功能,方便用户随时查看订单状态和物流信息。 总之,奇店桶装水小程序v1.3.9是一款功能强大、操作简便的购物小程序,为用户提供了方便、快捷、个性化的购买体验。通过不断改进和优化,我们致力于为用户提供更好的服务和体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值