AI插件Github Copilot使用及用它解LeetCode题目

  • A+
所属分类:idea

DevOps&SRE 博客iqsing.github.io

之前提交的github copilot技术预览版申请,今天收到准入邮件,于是安上试一试这个准备把我送去电子厂上班的copy a lot ?

官网及申请地址:copilot.github.com/


小作文包含如下内容:

  • copilot简单介绍

  • 使用python对copilot做些简单使用测试

  • 使用copilot对LeetCode 题目解答


一、copilot简单介绍

AI插件Github Copilot使用及用它解LeetCode题目

github copilot(副驾驶)目前只适用于vscode的扩展插件,它依赖于github数十亿公开代码库的训练而成的AI编码辅助器(包括整行代码提供或函数建议),目前支持数十种编程语言,技术预览版对 Python、JavaScript、TypeScript、Ruby 和 Go 的表现尤其出色。

他的工作原理:通过大量公共代码库对AI模型训练后构建成copilot服务,服务接收来自copilot插件返回的提要编码,并提供代码建议,插件又将来自程序员对建议的采纳性的回传到copilot服务,如此反复强化AI模型。

下图以蔽之:

AI插件Github Copilot使用及用它解LeetCode题目


二、使用python对copilot做些简单使用测试

在vscode插件中我们安上Github Copilot,建一个测试文件Copilot_test.py

AI插件Github Copilot使用及用它解LeetCode题目

1.获取列表的最大和最小值的函数

我们要写的可能看起来是这样的

'''Function to get the max and min values of a list'''def get_max_min(my_list):
    max_value = max(my_list)
    min_value = min(my_list)
    return max_value, min_valuedef main():
    my_list = [1,2,3,4,5]
    max_value, min_value = get_max_min(my_list)
    print("Max value:", max_value)
    print("Min value:", min_value)
    if __name__ == "__main__":
    main()

注释是copilot的关键部分,所有AI的是基于大数据的应用,甚至可以把copilot简单的认为是对github代码库的检索...

AI插件Github Copilot使用及用它解LeetCode题目

2.一个计算器

AI插件Github Copilot使用及用它解LeetCode题目

copilot给出的建议允许我们进行选择,通过Alt+[,Alt+]对建议上下查看。

AI插件Github Copilot使用及用它解LeetCode题目

我们可以使用Ctrl+Eeter打开建议结果面板,可以看到对应这些建议,copilot给了我们是10个解决方案

AI插件Github Copilot使用及用它解LeetCode题目


三、使用copilot对LeetCode 题目解答

我们在LeetCode找一题【回文数】,题目如下:

AI插件Github Copilot使用及用它解LeetCode题目

然后我们把题目写到代码注释中

AI插件Github Copilot使用及用它解LeetCode题目

代码区的类也加过来

AI插件Github Copilot使用及用它解LeetCode题目

看起来我们的代码就是这样的,灰色code的copilot给出的建议

AI插件Github Copilot使用及用它解LeetCode题目

我们选择其中一种建议放到LeetCode的执行看看

AI插件Github Copilot使用及用它解LeetCode题目

AI插件Github Copilot使用及用它解LeetCode题目

这个建议似乎不太理想...勇敢牛牛不怕困难,有兴趣的同学可以看看困难模式的题目哦,PS:对于中文的注释不确定copilot能百分之百给出回应。


copilot就像它的名字一样【副驾驶】,正经事还是得你来干,不过未来可能会一个不错的协助工具。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: