用這個方法,誰都可以刷到leetcode排名第一(可復制)
前幾天,有人分享了一個利用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生成。