国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【每日一題Day224】LC2517禮盒的最大甜蜜度 | 二分答案

這篇具有很好參考價(jià)值的文章主要介紹了【每日一題Day224】LC2517禮盒的最大甜蜜度 | 二分答案。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

禮盒的最大甜蜜度【LC2517】

You are given an array of positive integers price where price[i] denotes the price of the ith candy and a positive integer k.

The store sells baskets of k distinct candies. The tastiness of a candy basket is the smallest absolute difference of the prices of any two candies in the basket.

Return the maximum tastiness of a candy basket.

最大化最小化類似題目

  • 思路:使用二分查找的方式尋找最大甜蜜度

    • 本題的單調(diào)性為:當(dāng)**最小甜蜜度【數(shù)組中任意兩個(gè)元素的差值的絕對(duì)值的最小值】**越大,糖果的可以選擇的種類越小【選取的數(shù)組中的元素個(gè)數(shù)】,因此可以通過(guò)二分查找法找到最終答案
    • 將題意轉(zhuǎn)化為:當(dāng)選取的數(shù)量一定時(shí),尋找最小甜蜜度的最大值 y y y,二分查找的下限為0,上限為數(shù)組中最大元素與最小元素的差值/(k-1)
  • 實(shí)現(xiàn)

    • 首先對(duì)price數(shù)組進(jìn)行升序排序

    • 然后進(jìn)行二分查找,當(dāng)二分查找最小甜蜜度 y y y時(shí),需要判斷能否取出 k k k種糖果,如果能取出 k k k種糖果,那么我們可以增大差值,已獲得更大的最小甜蜜度;如果不能取出 k k k中糖果,那么減小差值

    • 每次查找成功,記錄當(dāng)前的最小甜蜜度,最后一次的最小甜蜜度即為最大最小甜蜜度

    • 如何判斷當(dāng)前的差值能夠取出多少種糖果?

      模擬迭代,第一種糖果取 p r i c e [ 0 ] price[0] price[0],第一種糖果取 p r i c e [ 0 ] + y price[0]+y price[0]+y p r i c e [ i ] price[i] price[i]處……

  • 代碼文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-467361.html

    class Solution {
        public int maximumTastiness(int[] price, int k) {
            Arrays.sort(price);
            int n = price.length;
            int l = 0, r = price[n - 1] - price[0];
            int ans = 0;
            while (l <= r){
                int mid = (r + l) / 2;
                if (check(price, mid ,k)){
                    ans = mid;
                    l = mid + 1;
                }else{
                    r = mid - 1;
                }
            }
            return ans;
    
        }
        public boolean check(int[] price, int m, int k){
            int count = 1;
            int preIndex = 0;
            for (int i = 1; i < price.length; i++){
                if (price[i] - price[preIndex] >= m ){
                    count++;
                    preIndex = i;
                }
            }
            return count >= k;
        }
    }
    
    • 復(fù)雜度
      • 時(shí)間復(fù)雜度: O ( n l o g ( n C ) ) O(nlog(nC)) O(nlog(nC)) n n n是數(shù)組的長(zhǎng)度,C是數(shù)組中的最大值與最小值的差值。排序需要的時(shí)間復(fù)雜度為 O ( n l o g n ) O(nlog n) O(nlogn),二分查找的時(shí)間復(fù)雜度是 O ( l o g C ) O(logC) O(logC),每次二分查找需要判斷是否符合條件的時(shí)間復(fù)雜度為 O ( n ) O(n) O(n),因此總的時(shí)間復(fù)雜度為 O ( n l o g ( n c ) ) O(nlog(nc)) O(nlog(nc))
      • 空間復(fù)雜度: O ( l o g n ) O(logn) O(logn),排序所需要的??臻g

到了這里,關(guān)于【每日一題Day224】LC2517禮盒的最大甜蜜度 | 二分答案的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【每日一題Day282】LC2681英雄力量 | 排序+數(shù)學(xué)

    給你一個(gè)下標(biāo)從 0 開(kāi)始的整數(shù)數(shù)組 nums ,它表示英雄的能力值。如果我們選出一部分英雄,這組英雄的 力量 定義為: i0 , i1 ,… ik 表示這組英雄在數(shù)組中的下標(biāo)。那么這組英雄的力量為 max(nums[i0],nums[i1] ... nums[ik])2 * min(nums[i0],nums[i1] ... nums[ik]) 。 請(qǐng)你返回所有可能的 非空

    2024年02月14日
    瀏覽(22)
  • 【每日一題Day168】LC2427公因子的數(shù)目 | 模擬

    給你兩個(gè)正整數(shù) a 和 b ,返回 a 和 b 的 公 因子的數(shù)目。 如果 x 可以同時(shí)整除 a 和 b ,則認(rèn)為 x 是 a 和 b 的一個(gè) 公因子 。 簡(jiǎn)單模擬 感謝力扣 今天還要開(kāi)會(huì) 我恨 感覺(jué)習(xí)慣真的很容易突然改變 前段時(shí)間還是看英文題目的 突然每一天就沒(méi)有看英文題了 然后這個(gè)習(xí)慣就沒(méi)有了

    2023年04月08日
    瀏覽(27)
  • 【每日一題Day222】LC1110刪點(diǎn)成林 | dfs后序

    給出二叉樹的根節(jié)點(diǎn) root ,樹上每個(gè)節(jié)點(diǎn)都有一個(gè)不同的值。 如果節(jié)點(diǎn)值在 to_delete 中出現(xiàn),我們就把該節(jié)點(diǎn)從樹上刪去,最后得到一個(gè)森林(一些不相交的樹構(gòu)成的集合)。 返回森林中的每棵樹。你可以按任意順序組織答案。 又是一段瓶頸期 2023/5/30 思路 遍歷樹時(shí),如果

    2024年02月07日
    瀏覽(26)
  • 【每日一題Day281】LC142鏈表 Ⅱ| 快慢指針 哈希表

    【每日一題Day281】LC142鏈表 Ⅱ| 快慢指針 哈希表

    環(huán)形鏈表 Ⅱ【LC142】 給定一個(gè)鏈表,返回鏈表開(kāi)始入環(huán)的第一個(gè)節(jié)點(diǎn)。 如果鏈表無(wú)環(huán),則返回 null。 如果鏈表中有某個(gè)節(jié)點(diǎn),可以通過(guò)連續(xù)跟蹤 next 指針再次到達(dá),則鏈表中存在環(huán)。 為了表示給定鏈表中的環(huán),評(píng)測(cè)系統(tǒng)內(nèi)部使用整數(shù) pos 來(lái)表示鏈表尾連接到鏈表中的位置(

    2024年02月15日
    瀏覽(17)
  • 【每日一題Day266】LC18四數(shù)之和 | 排序+雙指針

    四數(shù)之和【 LC18 】 給你一個(gè)由 n 個(gè)整數(shù)組成的數(shù)組 nums ,和一個(gè)目標(biāo)值 target 。請(qǐng)你找出并返回滿足下述全部條件且 不重復(fù) 的四元組 [nums[a], nums[b], nums[c], nums[d]] (若兩個(gè)四元組元素一一對(duì)應(yīng),則認(rèn)為兩個(gè)四元組重復(fù)): 0 = a, b, c, d n a 、 b 、 c 和 d 互不相同 nums[a] + nums[b]

    2024年02月16日
    瀏覽(20)
  • 【每日一題Day191】LC2423刪除字符使頻率相同 | 枚舉 分類討論

    給你一個(gè)下標(biāo)從 0 開(kāi)始的字符串 word ,字符串只包含小寫英文字母。你需要選擇 一個(gè) 下標(biāo)并 刪除 下標(biāo)處的字符,使得 word 中剩余每個(gè)字母出現(xiàn) 頻率 相同。 如果刪除一個(gè)字母后, word 中剩余所有字母的出現(xiàn)頻率都相同,那么返回 true ,否則返回 false 。 注意: 字母 x 的 頻

    2024年02月01日
    瀏覽(29)
  • 【每日一題Day208】LC1335工作計(jì)劃的最低難度 | 動(dòng)態(tài)規(guī)劃

    工作計(jì)劃的最低難度【LC1335】 你需要制定一份 d 天的工作計(jì)劃表。工作之間存在依賴,要想執(zhí)行第 i 項(xiàng)工作,你必須完成全部 j 項(xiàng)工作( 0 = j i )。 你每天 至少 需要完成一項(xiàng)任務(wù)。工作計(jì)劃的總難度是這 d 天每一天的難度之和,而一天的工作難度是當(dāng)天應(yīng)該完成工作的最大

    2024年02月05日
    瀏覽(29)
  • 【每日一題Day267】LC834樹中距離之和 | 換根dp

    樹中距離之和【LC834】 給定一個(gè)無(wú)向、連通的樹。樹中有 n 個(gè)標(biāo)記為 0...n-1 的節(jié)點(diǎn)以及 n-1 條邊 。 給定整數(shù) n 和數(shù)組 edges , edges[i] = [ai, bi] 表示樹中的節(jié)點(diǎn) ai 和 bi 之間有一條邊。 返回長(zhǎng)度為 n 的數(shù)組 answer ,其中 answer[i] 是樹中第 i 個(gè)節(jié)點(diǎn)與所有其他節(jié)點(diǎn)之間的距離之和。

    2024年02月16日
    瀏覽(23)
  • 【每日一題Day292】LC1572矩陣對(duì)角線元素的和 模擬

    思路 簡(jiǎn)單模擬,主對(duì)角線的元素橫縱坐標(biāo)相等,副對(duì)角線的元素橫縱坐標(biāo)相加為n-1,注意避免重復(fù)計(jì)算 實(shí)現(xiàn) 復(fù)雜度 時(shí)間復(fù)雜度: O ( log ? n ) mathcal{O}(log n) O ( lo g n ) 空間復(fù)雜度: O ( 1 ) mathcal{O}(1) O ( 1 )

    2024年02月13日
    瀏覽(20)
  • 算法每日一題: 分割數(shù)組的最大值 | 動(dòng)歸 | 分割數(shù)組 | 貪心+二分

    算法每日一題: 分割數(shù)組的最大值 | 動(dòng)歸 | 分割數(shù)組 | 貪心+二分

    Hello,大家好,我是星恒 嗚嗚嗚,今天給大家?guī)?lái)的又是一道經(jīng)典的動(dòng)歸難題。 題目:leetcode 410 給定一個(gè)非負(fù)整數(shù)數(shù)組 nums 和一個(gè)整數(shù) k ,你需要將這個(gè)數(shù)組分成 k_ 個(gè)非空的連續(xù)子數(shù)組。 設(shè)計(jì)一個(gè)算法使得這 k _個(gè)子數(shù)組各自和的最大值最小。 示例: 示例 1: 示例 2: 示例

    2024年01月22日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包