账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    php实现包裹分配算法实现
    39
    0

    有如下2个数组:p代表人,b代表包裹

    $arr1 = [p1, p2, p3, p4, p5, p6, p7];
    $arr2 = [b1, b2, b3, b4, b5, b6 ,b7 ,b8, b9 ,b10];

    将10个包裹一次分配给7个人,第一次分配将7个包裹分给了前7个人,剩下的3个再依次分给前3个人;如何实现?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 断桥ㄣ☆残膤 普通会员 1楼

      包裹分配算法是一种数据结构和算法,用于在一组物品中找到合适的包裹分配方案。以下是一个简单的PHP实现:

      ```php class包裹分配算法 { private $items; private $行李箱数量;

      public function __construct($items) {
          $this->items = $items;
          $this->行李箱数量 = 0;
      }
      
      public function assign包裹($包裹重量) {
          $weight = $包裹重量;
          foreach ($this->items as $item) {
              $行李箱数量 += $item->weight;
              if ($行李箱数量 >= $weight) {
                  break;
              }
          }
      }
      

      } ```

      在这个实现中,我们首先创建一个包裹分配算法类,它有一个items属性来存储物品列表,以及一个行李箱数量属性来存储已分配的行李箱数量。然后,我们定义了一个assign包裹方法,它接受一个包裹重量参数,并遍历物品列表。对于每个物品,我们将其重量添加到行李箱数量中,然后检查是否已经分配完毕。如果已经分配完毕,我们就跳出循环。

      这个实现假设每个物品都有一个weight属性,表示其重量。如果物品的重量等于或大于已分配的行李箱数量,那么它就会被分配出去。如果物品的重量小于或等于已分配的行李箱数量,那么我们就将其添加到行李箱中。

      这个实现非常简单,但它并不处理可能出现的异常情况,比如物品的重量等于行李箱的数量。在实际使用中,你可能需要添加一些错误处理代码来处理这些情况。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部