今天继续函数练习,那个leetcode的函数,你想好名称,形式参数和返回值了吗?
leetcode.cn/problems/longest-common-prefix/
其实右边的代码练习区,你选择python3,它就给你写好了函数名称和形式参数
还有返回值的类型(注意是返回值的类型不是
他这个函数longestCommonPrefix
第一个形式参数self,我们不用,只用第二个strs
只是它写的是
strs:List[str]
意思是:一个名字叫strs的列表(即List),列表元素是str(即字符串)
class solution 是什么意思?
创建一个class(类)
这里没有意义,你可以删除这一行
也可以不管它
strs 什么意思?
就是字符串列表这个形式参数的名字呀
后面的冒号list str是它的类型
s.longestCommonPrefix(strs)
这一次比较特殊,不仅写了形式参数,还写了形式参数的类型对不对之前,还没有这么写过
对于一个类solution,我们创建它的实例,命名为s
然后调用它内部的函数longestCommonPrefix
你看看solution这个类,里面是不是有2个函数啊?
hasSameItem和longestCommonPrefix
这2个函数,哪一个调用了另外一个
longestCommonPrefix调用了另外一个
那么29行以下的那些调用这个函数算出最终结果的,你能看懂吗?
最长公共前缀是FL 啊
后面的DOG 是没有最长公共前缀的
好的,那么你解释一下这个solution类里面的两个函数都在干什么呢?
字符串里面的第idx个元素
说白了,字符串里面的第idx个元素,就是第idx个字母
idx是什么意思?
index
索引
这里简写为idx
这里你也可以知道了,为什么for i in range(0, 10)
里面的i是什么了吗?
这里的i其实就是index的简写
就是“index”这个词的中文含义
索引就是从集合里面查找元素的标记
举例说明,你查字典的时候字典正文是集合,拼音就是索引,根据拼音找到字典正文的过程叫查询
另外就是,index一般指数字索引,我们这次操作的集合是列表,它的索引正好就是数字
字典(python dictionary)的索引一般称为key(钥匙)
那么这个函数是class solution 函数吗?
是的,你会发现class内部的函数,第一个形式参数都是self
这里self就是自己的意思,代表该函数可以使用这个类内部的变量数据和其它函数
是的,你会发现class内部的函数,第一个形式参数都是self
这里self就是自己的意思,代表该函数可以使用这个类内部的变量数据和其它函数.
关注我,分享更多Python干货!