最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

2144 打折購(gòu)買糖果的最小開銷

2023-04-05 06:15 作者:目標(biāo)力扣Knight  | 我要投稿

2144 打折購(gòu)買糖果的最小開銷

對(duì)讀者的要求

  • 了解庫(kù)函數(shù),排序的逆序函數(shù)寫法

  • 理解步長(zhǎng)/取模運(yùn)算的概念

  • 貪心思維:以最小代價(jià)博取最大利益

方法一:排序 + 枚舉

對(duì)數(shù)組元素按照數(shù)值逆序排序,通過設(shè)置步長(zhǎng)取出三元組,累加其中最大的和較大元素。判斷邊界條件,兩者的位序均不能超過數(shù)組長(zhǎng)度。

Python版本

?

C++版本

復(fù)雜度分析

  • 時(shí)間復(fù)雜度:O(nlogn)。 此處的N指的是list.sort()所用排序算法 TimeSort的時(shí)間復(fù)雜度 nlogn。

  • 空間復(fù)雜度:O(1)。

方法二:一次遍歷 + 模運(yùn)算

書接上文,我們知道三元組中,僅有最大數(shù)和次大數(shù)字會(huì)作為代價(jià)被累加,而他們?cè)谌M中的位序分別是 [0, 1, 2] 因此可以求模運(yùn)算直接累加,對(duì)位序模3即可。

Python版本

C++版本

復(fù)雜度分析

  • 時(shí)間復(fù)雜度:O(nlogn)。 此處的N指的是list.sort()所用排序算法 TimeSort的時(shí)間復(fù)雜度 nlogn

  • 空間復(fù)雜度:O(1)。

備注

  • AddressSanitizer錯(cuò)誤中的堆棧溢出,不僅可能來自于循環(huán)中的越界,可能來自于排序算法的遞歸實(shí)現(xiàn),規(guī)則錯(cuò)誤陷入死循環(huán)則可能導(dǎo)致溢出,因此編寫正確的排序算法非常重要,

  • 考慮到本題認(rèn)可免費(fèi)額度可以與三元組中較大值相等,因此我會(huì)考慮按照大于等于的規(guī)則排序,但是該排序規(guī)則將導(dǎo)致程序報(bào)錯(cuò),也就是上文的堆棧溢出。可以改為大于,同值將會(huì)傳遞數(shù)值之間的相對(duì)關(guān)系,而非重新局部排序;

  • 此處可以補(bǔ)充C++ STL排序中的一個(gè)重要概念:strict weak ordering , 即嚴(yán)格弱序。


2144 打折購(gòu)買糖果的最小開銷的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
锡林浩特市| 洱源县| 共和县| 彰化市| 宁晋县| 通辽市| 五台县| 瓦房店市| 永康市| 民丰县| 八宿县| 宜宾县| 防城港市| 嵊州市| 永和县| 福海县| 仁怀市| 新密市| 五大连池市| 桦甸市| 邢台县| 全南县| 石家庄市| 从江县| 进贤县| 三都| 紫金县| 铁力市| 卓尼县| 郑州市| 株洲市| 寿阳县| 东兰县| 西乌珠穆沁旗| 澳门| 丰镇市| 剑川县| 苏尼特左旗| 绩溪县| 兴安县| 江华|