求问一道算法题 - Hudson River Trading 2021 New Grad OA

Hudson River Trading 2021 New Grad OA
给定两个array,分别代表两组掷骰子的结果,求问最少转动几个骰子能使两个array sum equal

你不先说下自己的思路吗?等着别人给答案?

我感觉像是greedy,但是想了半天也没具体的思路,卡住了。

本质是 https://leetcode.com/problems/merge-two-sorted-lists/ 自己悟吧

假设两组 array 的sum 分别是A和B,A >= B
也就是A 需要减少, B 需要增大
每个骰子的调整最大幅度是:
1: +5 或 0
2: +4 或 -1
3: +3 或 -2
4: +2 或 -3
5: +1 或 -4
6: 0 或 -5

根据调整最大幅度sort, A 需要用右边的负数, B用左边的正数

然后就是 merge two sorted list 从两个array 中每次取最大的数

1 Like

拨云见日…