天天看點

還在刷算法?ChatGPT解決leetcode裡的問題

作者:坤坤萬同學

打開力扣,看看今天的每日一題是什麼。

今天是一條道簡單的合并相似物品的題目。原題如下:

還在刷算法?ChatGPT解決leetcode裡的問題

那下面我們交給ChatGPT來解決,看看他解決的怎麼樣

還在刷算法?ChatGPT解決leetcode裡的問題

我把完整的代碼貼出來給大家看看。

def merge(items1, items2):
    """
    合并items1和items2為一個集合items,并按照物品價值升序排列。
    """
    items = items1 + items2
    items.sort()
    return items

def get_weight_by_value(items):
    """
    統計每個價值的物品的重量之和,結果存放在一個字典中。
    """
    value_weight_dict = {}
    for item in items:
        value, weight = item
        value_weight_dict.setdefault(value, 0)
        value_weight_dict[value] += weight
    return value_weight_dict

def get_ret(value_weight_dict):
    """
    将字典中的鍵值對按照鍵(即物品價值)排序後,按照順序建構結果二維數組ret。
    """
    ret = []
    for value in sorted(value_weight_dict.keys()):
        ret.append([value, value_weight_dict[value]])
    return ret

def get_sum_by_value(items1, items2):
    """
    統計結果按照物品價值升序排列,傳回一個二維數組ret,
    其中ret[i]表示所有價值為valuei的物品的重量之和。
    """
    items = merge(items1, items2)
    value_weight_dict = get_weight_by_value(items)
    ret = get_ret(value_weight_dict)
    return ret
           
還在刷算法?ChatGPT解決leetcode裡的問題

我們看到預設是當時Python寫的。

那麼我們再讓他用Typescript寫一下。

還在刷算法?ChatGPT解決leetcode裡的問題

其實可以直接讓他用Typescript實作,不用把原題再打出來了

還在刷算法?ChatGPT解決leetcode裡的問題

而且還有還帶測試用例。

那我們把代碼直接粘貼到leetcode裡試試怎麼樣

還在刷算法?ChatGPT解決leetcode裡的問題

可以看到直接通過。ChatGPT還是蠻好用的。

是不是以後招聘都不用在考算法了。大家同意嗎?歡迎評論區發表意見。