Jim and the Orders

  • + 0 comments

    Java:

    public static List<Integer> jimOrders(List<List<Integer>> orders) {
      int n = orders.size();
      List<List<Integer>> delivery = new ArrayList<>();
      List<Integer> customers = new ArrayList<>();
    
      for (int i = 0; i < n; i++) {
        int orderNumber = orders.get(i).get(0);
        int prepTime = orders.get(i).get(1);
        int deliverytime = orderNumber + prepTime;
        delivery.add(Arrays.asList(i + 1, deliverytime));
      }
      Collections.sort(delivery, new Comparator<List<Integer>>() {
        @Override
        public int compare(List<Integer> o1, List<Integer> o2) {
          if (o1.get(1) != o2.get(1)) {
            return o1.get(1).compareTo(o2.get(1));
          } else {
            return o1.get(0).compareTo(o2.get(0));
          }
        }
      });
      for (List<Integer> l : delivery) {
        customers.add(l.get(0));
      }
      System.out.println(customers);
      return customers;
    }