有n
孩子围成一圈。他们每个人都有一些糖果(可能是负数、正数或零)。他们可以一次给邻居一个糖果。最终结果是,他们都应该在最少的步骤中拥有零糖果。
假设我们有 4 个孩子拿着(-4, -2, 4, 2)
糖果,那么序列将是
- (-3, -2, 4, 1)
- (-2, -2, 4, 0)
- (-2, -1, 3, 0)
- (-2, 0, 2, 0)
- (-2, 1, 1, 0)
- (-2, 2, 0, 0)
- (-1, 1, 0, 0)
- ( 0, 0, 0, 0)
这是一个可能的答案,我必须找到最少的步骤数。
循环1:查找邻居是否有正糖果,然后将其给与负糖果的邻居,直到糖果数量等于0,然后将给定的糖果数量加到总和中。
循环2:查找邻居的邻居是否有正糖果,然后将其交给有负糖果的邻居,直到糖果数量等于0,然后加2(给和的糖果数量)。
等等。
我的解决方案的复杂性导致了 TLE。我能做些什么来降低复杂性?