leecode上的代码到pycharm运行解决方法

目录

leecode上的代码到pycharm运行解决历程

1、事情的起因:

2、于是我开始思考这个问题:

3、->的意义:

4、代码修改部分(leecode59矩阵II)

5、通用修改模板

6、得到结果

7、片尾感谢


leecode上的代码到pycharm运行解决历程

1、事情的起因:

小伙伴私聊我说:leecode上的代码到pycharm运行出错了,我一运行的确输出是是list未定义

2、于是我开始思考这个问题:

为什么在leecode(OJ在线判题系统)上面是对的,在pycharm就出错

这时候我的目光准时到了leecode的第一行代码:

class Solution:
    def generateMatrix(self, n: int) -> List[List[int]]:

3、->的意义:

这个奇怪的符号    ->   在函数定义是什么意思呢?

->常常出现在python函数定义的函数名后面,为函数添加元数据,描述函数的返回类型,从而方便开发人员使用。
比如说:

def add(x, y) -> int:
  return x+y


这里面,元数据表明了函数的返回值为int类型。

这样做的好处:使用预期的类型来注释参数,然后在函数返回值验证时检验参数的类型或者将其强制转换成预期的类型。

4、代码修改部分(leecode59矩阵II)

知道这些我们在代码稍作修改:

class Solution:
    def generateMatrix(self, n: int):
        # 初始化要填充的正方形
        matrix = [[0] * n for _ in range(n)]

        left, right, up, down = 0, n - 1, 0, n - 1
        number = 1  # 要填充的数字

        while left < right and up < down:

            # 从左到右填充上边
            for x in range(left, right):
                matrix[up][x] = number
                number += 1

            # 从上到下填充右边
            for y in range(up, down):
                matrix[y][right] = number
                number += 1

            # 从右到左填充下边
            for x in range(right, left, -1):
                matrix[down][x] = number
                number += 1

            # 从下到上填充左边
            for y in range(down, up, -1):
                matrix[y][left] = number
                number += 1

            # 缩小要填充的范围
            left += 1
            right -= 1
            up += 1
            down -= 1

        # 如果阶数为奇数,额外填充一次中心
        if n % 2:
            matrix[n // 2][n // 2] = number

        return matrix
a = Solution()
print(a.generateMatrix(3))

5、通用修改模板

 #删除  -> List[List[int]]:    ,但是不要忘记加 : 哦!(不要问我为什么知道的,呜呜呜)
#都是报错带来的血与痛的教训
#后面再加上
#a = 类名()
#print(a.函数名(输入的值))
#向这题就打出
a = Solution()
print(a.generateMatrix(3))
#大功告成了!

6、得到结果

就得到了我们心心念念的结果:

7、片尾感谢

文末感谢:叶同学,感谢提问,得以让我们共同学习进步!

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

武师叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值