首頁  >  文章  >  科技週邊  >  用這個方法,誰都可以刷到leetcode排名第一(可複製)

用這個方法,誰都可以刷到leetcode排名第一(可複製)

WBOY
WBOY轉載
2023-10-20 14:17:01832瀏覽

前幾天,有人分享了一個利用GPT在leetcode刷題,學習演算法,啟迪思路,提升程式設計能力的方法。

開始還不信,自己試了一下,驚了! AI理解問題,編碼解決問題的能力現在已經這麼流弊了嗎?

用這個方法,誰都可以刷到leetcode排名第一(可複製)

在leetcode找了一個描述比較複雜的演算法題:

用這個方法,誰都可以刷到leetcode排名第一(可複製)

從陣列nums[]中找出滿足條件的四元組。

我開始認為,AI應該理解不了什麼是:

「a * b = c * d」

# “a != b != c != d”

以及,我認為AI應該不能通過兩個示例,去理解計數邏輯的。

結果證明,是我小看AI了。

畫外音:本次試驗,使用工具為Cl​​aude。

用這個方法,誰都可以刷到leetcode排名第一(可複製)

在prompt裡,我對AI做了一個身分與能力的設定,以及精確的任務:

#(1)明確AI是程式設計師,擅長演算法;

(2)明確了函數原型;

(3)複製了leetcode裡的題目描述;

Claude輸出了什麼呢?

用這個方法,誰都可以刷到leetcode排名第一(可複製)

(1)給出了簡單粗暴的四重循環解法;

(2)給出了演算法邏輯;

(3)給了時間複雜度與空間複雜度;

(4)給了系統提示:我不擅長解決數學問題;

時間複雜度有點高,問下Claude是否有最佳化空間:

用這個方法,誰都可以刷到leetcode排名第一(可複製)

(1)Claude使用了一個unordered_map空間換時間;

#(2)給了最佳化邏輯;

(3)給了時間複雜度與空間複雜度;

再逼一逼Claude,看是否有進一步優化空間:

用這個方法,誰都可以刷到leetcode排名第一(可複製)

#(1)Claude使用了一個沒看懂的演算法;

(2)給了最佳化邏輯;

(3)給了時間複雜度與空間複雜度;

畫外音:額,這個真的能優化到O(n)嗎?

沒使用寫程式碼的專用AI,也沒用目前號稱最強的AGI工具GPT,甚至沒有使用升級後的Claude2,但AI對符號與邏輯的理解能力,以及編碼,迭代優化的解題能力,真的震撼到我了。

對於程式設計師,在leetcode刷了多少題,有多少AC,其實不是關鍵。藉由AI,啟迪我們拓寬思路,提升能力,是每個人都應該學習、思考的。

每一次技術革命浪潮,淘汰我們的並不是工具和技術,而是背後那個,最先掌握工具和技術的人。

對於這一輪AI革命浪潮,你怎麼看?

畫外音:本文標題由AI產生。

以上是用這個方法,誰都可以刷到leetcode排名第一(可複製)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除