二维数组双机器人得分计算:前缀和思路代码调试求助
Grid Game 代码错误排查求助
我在做LeetCode的Grid Game问题,写了以下Python函数,它能通过部分测试用例,但在指定测试用例上执行失败。我已经调试了2.5小时,还是没定位到问题,希望有人帮忙分析代码里的错误。
我的核心思路是计算每行的总和,通过比较向右或向下移动的剩余收益来决策机器人的移动路径。
我的代码
def gridGame(grid): robot_score = 0 for _ in range(2): robot_score = 0 row_one_sum = sum(grid[0]) row_two_sum = sum(grid[1]) row = 0 col = 0 while row < len(grid) and col < len(grid[0]): # 获取当前格子的分数 robot_score += grid[row][col] # 从行总和中减去当前分数 if row == 0: row_one_sum -= grid[0][col] else: row_two_sum -= grid[1][col] # 将当前格子设为0 grid[row][col] = 0 # 决定下一步移动方向 if row == 0: if row_two_sum > row_one_sum or col == len(grid[0]) - 1: row += 1 else: row_two_sum -= grid[row - 1][col - 1] col += 1 else: col += 1 return robot_score
已通过的测试用例
grid = [[1,3,1,15],[1,3,3,1]] grid = [[3,3,1],[8,5,2]] grid = [[2,5,4],[1,5,1]]
失败的测试用例
gridGame([[10, 12, 14, 19, 19, 12, 19, 2, 17], [20, 7, 17, 14, 3, 1, 1, 17, 12]])
内容的提问来源于stack exchange,提问作者user1010101
相关产品推荐
相关产品推荐

