前几天,有人分享了一个利用GPT在leetcode刷题,学习算法,启迪思路,提升编程能力的方法。
开始还不信,自己试了一下,惊了!AI理解问题,编码解决问题的能力现在已经这么流弊了吗?
在leetcode找了一道描述比较复杂的算法题:
从数组nums[]中找满足条件的四元组。
我开始认为,AI应该理解不了什么是:
“a * b = c * d”
“a != b != c != d”
以及,我认为AI应该不能通过两个示例,去理解计数逻辑的。
结果证明,是我小看AI了。
画外音:本次试验,使用工具为Claude。
在prompt里,我对AI做了一个身份与能力的设定,以及精确的任务:
(1)明确AI是程序员,擅长算法;
(2)明确了函数原型;
(3)复制了leetcode里的题目描述;
Claude输出了什么呢?
(1)给出了简单粗暴的四重循环解法;
(2)给出了算法逻辑;
(3)给出了时间复杂度与空间复杂度;
(4)给出了系统提示:我不擅长解决数学问题;
时间复杂度有点高,问下Claude是否有优化空间:
(1)Claude使用了一个unordered_map空间换时间;
(2)给出了优化逻辑;
(3)给出了时间复杂度与空间复杂度;
再逼一逼Claude,看是否有进一步优化空间:
(1)Claude使用了一个没看懂的算法;
(2)给出了优化逻辑;
(3)给出了时间复杂度与空间复杂度;
画外音:额,这个真的能优化到O(n)吗?
没使用写代码的专用AI,也没用目前号称最强的AGI工具GPT,甚至没有使用升级后的Claude2,但AI对符号与逻辑的理解能力,以及编码,迭代优化的解题能力,真的震撼到我了。
对于程序员,在leetcode刷了多少题,有多少AC,其实并不关键。借助AI,启迪我们拓宽思路,提升能力,是每个人都应该去学习和思考的。
每一次技术革命浪潮,淘汰我们的并不是工具和技术,而是背后那个,最先掌握工具和技术的人。
对于这一轮AI革命浪潮,你怎么看?
画外音:本文标题由AI生成。
更多:
《Claude2,有点流弊的样子...》