楼主: 林红玉
跳转到指定楼层
上一主题 下一主题
收起左侧

[Leetcode] 为什么会有跟答案一模一样的code就是输出结果不一样

全局:
中间两个单独的一层循环没写对吧
回复

使用道具 举报

🔗
 楼主| 林红玉 2019-5-22 22:54:27 | 只看该作者
全局:
qich 发表于 2019-5-21 10:50
先不说这代码哪里出了bug,这里居然能跑吗?

是我的电脑和我的脑子同时出了问题吗……

额。。我也晕了,我去检查我的IDE里的代码都没有dp[0]出现。。。这既不在开头也不在末尾,手残删了也不能删当间。。。玄学
回复

使用道具 举报

🔗
 楼主| 林红玉 2019-5-22 22:58:21 | 只看该作者
全局:
qich 发表于 2019-5-21 10:59
如果说原来的code是这样的:
[mw_shl_code=python,true]def minPathSum(grid):
    n = len(grid)

谢谢!层主好认真!我又检查了几遍,觉得这里没有问题啊。。。😔

回复

使用道具 举报

🔗
 楼主| 林红玉 2019-5-22 23:02:17 | 只看该作者
全局:
代码没贴上来,再来一遍
  1.     n = len(grid) #行
  2.     m = len(grid[0])#列
  3.     for i in range(1, n): #行
  4.         dp[i][0] = dp[i - 1][0] + grid[i][0]
  5.     for j in range(1, m): #列
  6.         dp[0][j] = dp[0][j - 1] + grid[0][j]
复制代码
回复

使用道具 举报

🔗
 楼主| 林红玉 2019-5-22 23:03:40 | 只看该作者
全局:
完整代码-我的
  1. def minPathSum(grid):

  2.     n = len(grid)
  3.     m = len(grid[0])

  4.     dp = [[0 for x in range(m)] for x in range(n)]
  5.     dp[0][0] = grid[0][0]
  6.     #print("dp[0][0] is " + str(dp[0][0]))
  7.     for i in range(1, n):
  8.         dp[i][0] = dp[i - 1][0] + grid[i][0]
  9.     # print("when i equal " + str(i))
  10.     # print("dp[i - 1][0] is " + str(dp[i - 1][0]))
  11.     # print("grid[i][0] is " + str(grid[i][0]))
  12.     # print("dp[i][0] is " + str(dp[i][0]))

  13.     for j in range(1, m):
  14.         dp[0][j] = dp[0][j - 1] + grid[0][j]
  15.     # print("when j equal " + str(j))
  16.     # print("dp[0][j-1] is " + str(dp[0][j-1]))
  17.     # print("grid[0][j] is " + str(grid[0][j]))
  18.     # print("dp[0][j] is " + str(dp[0][j]))
  19.     # print(dp)
  20.     for i in range(1, n):
  21.         for j in range(1, m):
  22.             dp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j]

  23.     return dp[-1][-1]
  24. grid = [[1,3,1],[1,5,1],[4,2,1]]

  25. print(minPathSum(grid))
复制代码


答案的-
  1. def minPathSum(grid):
  2.     n = len(grid)
  3.     m = len(grid[0])
  4.     dp = [[0 for x in range(m)] for x in range(n)]

  5.     dp[0][0] = grid[0][0]

  6.     for i in range(1, m):
  7.         dp[0][i] = dp[0][i - 1] + grid[0][i]
  8.         # print("when i equal " + str(i))
  9.         # print("dp[0][i - 1] is " + str(dp[0][i - 1]))
  10.         # print("grid[0][i] is " + str(grid[0][i]))
  11.         # print("dp[0][i] is " + str(dp[0][i]))
  12.     for i in range(1, n):
  13.         dp[i][0] = dp[i - 1][0] + grid[i][0]
  14.         # print("when i equal " + str(i))
  15.         # print("dp[i - 1][0] is " + str(dp[i - 1][0]))
  16.         # print("grid[i][0] is " + str(grid[i][0]))
  17.         # print("dp[i][0] is " + str(dp[i][0]))
  18.     for i in range(1, n):
  19.         for j in range(1, m):
  20.             dp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j]

  21.     return dp[-1][-1]
  22. print(minPathSum([[1,3,1],[1,5,1],[4,2,1]]))
复制代码

回复

使用道具 举报

🔗
 楼主| 林红玉 2019-5-22 23:08:53 | 只看该作者
全局:
一剑终情 发表于 2019-5-21 12:22
中间两个单独的一层循环没写对吧

我对灯发誓,我写了😭😭
回复

使用道具 举报

🔗
Wu_kong 2019-5-23 01:40:47 | 只看该作者
全局:
林红玉 发表于 2019-5-22 23:03
完整代码-我的[mw_shl_code=python,true]def minPathSum(grid):

    n = len(grid)

i got same output
回复

使用道具 举报

全局:
qich 发表于 2019/05/21 10:50:29

是我的电脑和我的脑子同时出了问题吗……

是[ i ]被当成发帖的格式代码吃掉了
回复

使用道具 举报

全局:
林红玉 发表于 2019/05/22 22:54:27


额。。我也晕了,我去检查我的IDE里的代码都没有dp[0]出现。。。这既不在开头也不在末尾,手残删了也不能删当间。。。玄学

发代码一定用代码模式发,方括号里面写个i是发帖的斜体格式代码,所以被系统吃掉了
回复

使用道具 举报

全局:
林红玉 发表于 2019/05/22 23:08:53


我对灯发誓,我写了????????

看起来好像是一样的 只是行和列的顺序不一样 应该不影响
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表