这个标题或许听起来很斗胆,很有点击率,但现实就是如此……
几天前,我偶尔发现了LinkedIn上的一个帖子(不幸的是,我没有保存链接),其间一个程序员展现了他对LeetCode应战的处理方案。代码很好,帖子得到了几十个人的喜爱,这无疑是名副其实的。我决定将这些要求反馈给ChatGPT-4,看看它是否能了解并处理这个问题。结果是……风趣的,我花了一些时刻对人工智能进行实验,修改了提示,看看它对结果有什么影响。
应战
首先,我希望你看一下LeetCode问题并测验处理它。花点时刻,想一想。然后,谷歌一下。是的,在互联网上查找最佳处理方案。
给出两个整数数组
pushed
和popped
,每个数组都有不同的值,假如这或许是初始空仓库上一连串推和弹操作的结果,则回来true
,不然回来false
。例子1:
Input: pushed = [1,2,3,4,5], popped = [4,5,3,2,1] Output: true Explanation: We might do the following sequence: push(1), push(2), push(3), push(4), pop() -> 4, push(5), pop() -> 5, pop() -> 3, pop() -> 2, pop() -> 1
例2:
Input: pushed = [1,2,3,4,5], popped = [4,3,5,1,2] Output: false Explanation: 1 cannot be popped before 2.
约束条件:
1 <= pushed.length <= 1000
0 <= pushed[i] <= 1000
pushed
的一切元素都是唯一的。
popped.length == pushed.length
popped
是 的一个置换。pushed
完结了吗?
好了,还记得我让你动脑筋,用谷歌查找吗?所以,假如机器生成的处理方案刚好更有用,那么 “这不公正,因为它是在互联网的数据上训练出来的 “的说法是不被承受的。
开释克拉肯
当我开始要求ChatGPT处理这个应战时,我从LeetCode复制了这个任务。但是,在这种情况下,它或许的确看起来像人工智能从它的 “回忆 “深处拉出的处理方案,没有经过多少 “考虑”。因而,让咱们重新表述一下要求,看看机器是否可以处理它。这是我使用的提示:
输出:
不错,根据LeetCode的统计,这是个均匀的处理方案,或多或少。现在让咱们进一步推进咱们心爱的人工智能,并要求它加强代码:
这就是作业变得真实风趣的地方!它不只供给了一个优雅的处理方案,没有分配仓库,并且还解说了这种优化或许发生的潜在问题。让咱们在LeetCode上检查一下吧:
数字是不言而喻的,对吗?当然,有些人或许会以为LeetCode的基准不一致,这是一个合理的观念。尽管如此,现实是,人工智能立即发生了一个像样的处理方案,并以一种不是每个软件工程师都能做到的方式改进了它。
下一步是什么?
那么,咱们的作业安全吗?
是的(除非你为埃隆-马斯克作业)
打个比方,今天的ChatGPT(以及GitHub Copilot等其他人工智能帮手)就像一个电动东西,可以钻洞、打螺丝、锯东西等等。但是,假如你只是把它放在地上,它不会为你制作房子。更重要的是,不熟练的人乃至或许用这种东西损伤自己。另一方面,有经验的工程师可以利用人工智能的力量和潜力,大幅进步他们的作业质量。
就到这里吧。干杯!