第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

數(shù)組分頁未知失敗

數(shù)組分頁未知失敗

收到一只叮咚 2023-10-11 16:00:12
我正在解決一個 HackerRank 測驗,其中包括模擬分頁請求。該函數(shù)接收一個項目數(shù)組、排序參數(shù)、排序順序、頁碼和每頁的項目,并返回與給定頁面對應(yīng)的名稱數(shù)組。這些物品有形狀[name: string, relevance: int, price: int]。排序參數(shù)為 0 表示名稱,1 表示相關(guān)性,2 表示價格。排序順序為 0 表示升序,1 表示降序。我在 JavaScript 和 Python 中嘗試了該函數(shù),以防默認排序函數(shù)的工作方式不同并改變結(jié)果。這是我在Python3中的實現(xiàn)。def?fetchPaginated(items,?sortParameter,?sortOrder,?pageNum,?itemsPerPage): ??sortedItems?=?sorted(items,?key=lambda?item:?item[sortParameter],?reverse=False?if?sortOrder?==?0?else?True) ??paginatedIdx?=?pageNum?*?itemsPerPage ??slicedItems?=?sortedItems[paginatedIdx:(paginatedIdx?+?itemsPerPage)]??return?map(lambda?item:?item[0],?slicedItems)由于 HackerRank 隱藏了測試用例,因此我不知道失敗測試的輸入。我記得數(shù)組的大小是 100 到 1000 的順序,頁碼在 0 到 2 之間,每頁的項目在 1 到 20 之間。排序參數(shù)和順序沒有模式(它不像所有失敗的測試都是針對排序參數(shù) 1 或類似參數(shù))。有人可以告訴我我的代碼或其背后的算法是否存在我未檢測到的缺陷嗎?也許是一個導(dǎo)致它在邊緣情況下失敗的缺陷?
查看完整描述

1 回答

?
隔江千里

TA貢獻1906條經(jīng)驗 獲得超10個贊

我在評估時也有這個問題。問題是 的輸入items是字符串的二維列表,而不是[name: string, relevance: int, price: int]. 因此,當您調(diào)用 sort 時,您正在對數(shù)字字符串而不是實際數(shù)字進行排序,這會導(dǎo)致意外的結(jié)果。例如:


>>> nums = list(range(1, 6)) + list(range(10, 60, 10))

>>> nums = list(map(str, nums))

>>> nums

['1', '2', '3', '4', '5', '10', '20', '30', '40', '50']

>>> nums.sort()

>>> nums

['1', '10', '2', '20', '3', '30', '4', '40', '5', '50']

一個小的修復(fù)是更改關(guān)鍵函數(shù),以便將相關(guān)性和價格(第 1 列和第 2 列)轉(zhuǎn)換為整數(shù),同時保留名稱(第 0 列)。


sortedItems = sorted(items, key=lambda item: int(item[sortParameter]) if sortParameter else item[sortParameter], reverse=sortOrder)



查看完整回答
反對 回復(fù) 2023-10-11
  • 1 回答
  • 0 關(guān)注
  • 110 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號