前幾天,有人分享了一個利用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產生。
以上是用這個方法,誰都可以刷到leetcode排名第一(可複製)的詳細內容。更多資訊請關注PHP中文網其他相關文章!