小编Пав*_*ерг的帖子

如何找到适合n个人的最佳汽车数量?

有一组车

{
 3: 1
 4: 1.4
 8: 2.2
}
Run Code Online (Sandbox Code Playgroud)

其中键是汽车容量,值是价格系数。

对于人数较多的情况,应寻找一套汽车,并且价格系数之和应尽可能低。例如,对于 7 人来说,使用一辆容量 = 8 的汽车是合理的。对于 9 人来说,使用一辆 8 容量的汽车就可以了。和 1 个 3 帽。汽车。

形成最佳汽车组的算法是什么?实际使用中的容量和系数可能有所不同,因此请勿依赖此处给出的数据。谢谢!

UPD。这是一段构建没有效率系数的汽车组的代码/希望可能的汽车变体不要估计 3

let carSet = {},
    peopleFree = 123456,
    cars =
        [
            {capacity: 3, coefficient: 1},
            {capacity: 4, coefficient: 1.4},
            {capacity: 3, coefficient: 2.2},
        ],
    minCapacity = 0,
    maxCapacity = 0;

_.forEach(cars, (car) => {
    if (car['capacity'] >= maxCapacity) {   //find max capacity
        maxCapacity = car['capacity'];
    }

    if (car['capacity'] <= …
Run Code Online (Sandbox Code Playgroud)

algorithm

5
推荐指数
1
解决办法
3098
查看次数

我无法将OCaml中的Array与修改区分开来

是完整的代码.我会尝试展示一些作品.我正在写一个通过telnet工作的tic tac toe服务器.这是游戏板的代表

let empty_board = [|
                [|EMPTY; EMPTY; EMPTY|];
                [|EMPTY; EMPTY; EMPTY|];
                [|EMPTY; EMPTY; EMPTY|]|]
Run Code Online (Sandbox Code Playgroud)

它仅用于Array.copy在游戏循环中传递玩家描述符和新棋盘:

let prepare_game_process pair_of_players= 
 pair_of_players >>= fun (player1, player2) ->  
 send_to_client player1 "You play for X";
 send_to_client player2 "You play for O";
 let new_board = Array.copy empty_board in
 game_loop player1 player2 new_board
Run Code Online (Sandbox Code Playgroud)

但是每次新游戏开始时,game_loop中的所有更改都会反映到原始的empty_board:

let make_move x y board token=
 board.(y).(x) <- token;
 board
Run Code Online (Sandbox Code Playgroud)

我看了十亿次代码,但我根本看不出原因.

arrays ocaml mutable

1
推荐指数
1
解决办法
105
查看次数

标签 统计

algorithm ×1

arrays ×1

mutable ×1

ocaml ×1