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

[LeetCode周賽復(fù)盤] 第 359 場(chǎng)周賽20230820

這篇具有很好參考價(jià)值的文章主要介紹了[LeetCode周賽復(fù)盤] 第 359 場(chǎng)周賽20230820。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、本周周賽總結(jié)

  • T1 模擬。
  • T2 數(shù)學(xué)貪心。
  • T3 dp。
  • T4 分組+滑窗。

[LeetCode周賽復(fù)盤] 第 359 場(chǎng)周賽20230820,力扣周賽復(fù)盤,leetcode,算法,職場(chǎng)和發(fā)展

2828. 判別首字母縮略詞

2828. 判別首字母縮略詞

1. 題目描述

[LeetCode周賽復(fù)盤] 第 359 場(chǎng)周賽20230820,力扣周賽復(fù)盤,leetcode,算法,職場(chǎng)和發(fā)展

2. 思路分析

按題意模擬即可。

3. 代碼實(shí)現(xiàn)

class Solution:
    def isAcronym(self, words: List[str], s: str) -> bool:
        return s == ''.join(w[0] for w in words)

2829. k-avoiding 數(shù)組的最小總和

2829. k-avoiding 數(shù)組的最小總和

1. 題目描述

[LeetCode周賽復(fù)盤] 第 359 場(chǎng)周賽20230820,力扣周賽復(fù)盤,leetcode,算法,職場(chǎng)和發(fā)展

2. 思路分析

貪心

  • 1~k-1中,選了1就不能選k-1;選了2就不能選k-2…
  • 因此可以選1~k//2
  • 剩余的從k開(kāi)始向上選。

  • 可以模擬,也可以等差數(shù)列求和公式。

3. 代碼實(shí)現(xiàn)

class Solution:
    def minimumSum(self, n: int, k: int) -> int:
        ans = 0
        p = min(n,k//2)
        ans += (1+p)*p//2
        
        ans += (k+k+n-p-1)*(n-p)//2
        return ans

2830. 銷售利潤(rùn)最大化

2830. 銷售利潤(rùn)最大化

1. 題目描述

[LeetCode周賽復(fù)盤] 第 359 場(chǎng)周賽20230820,力扣周賽復(fù)盤,leetcode,算法,職場(chǎng)和發(fā)展

2. 思路分析

看到值域范圍,考慮用值域當(dāng)下標(biāo)dp。
令f[i]表示從0~i的房屋的銷售最大值。

  • 枚舉offers[i]=a,b,c, 只要知道f[a-1]則可以轉(zhuǎn)移到f[b],f[b]=f[a-1]+b。
  • 如何知道f[a-1]呢,顯然它是一個(gè)前綴最大值,那么其實(shí)可以用線段樹(shù)等區(qū)間最大值的數(shù)據(jù)結(jié)構(gòu)。
  • 這題還可以遞推,用p記錄當(dāng)前a之前的最大值,那么可以把offers按左端點(diǎn)排序,記一下即可,然后雙指針遞推。

3. 代碼實(shí)現(xiàn)

class Solution:
    def maximizeTheProfit(self, n: int, offers: List[List[int]]) -> int:
        f = [0]*n
        j = p = 0
        offers.sort()
        for a,b,c in offers:
            while j < a:
                p = max(p,f[j])
                j += 1
            f[b] = max(f[b],p+c)
        return max(f[j:])

2831. 找出最長(zhǎng)等值子數(shù)組

2831. 找出最長(zhǎng)等值子數(shù)組

1. 題目描述

[LeetCode周賽復(fù)盤] 第 359 場(chǎng)周賽20230820,力扣周賽復(fù)盤,leetcode,算法,職場(chǎng)和發(fā)展文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-671399.html

2. 思路分析

  • 由于只能刪除k個(gè)數(shù),保留的數(shù)不能變,那么按值分組,記錄下標(biāo)。
  • 對(duì)每個(gè)組,看刪除k個(gè)的窗口內(nèi),最多有幾個(gè)下標(biāo)。
  • 那么變長(zhǎng)滑窗思路就出現(xiàn)了。
  • 枚舉每個(gè)位置為窗口右邊界,如果窗口內(nèi)需要?jiǎng)h除的數(shù)字超過(guò)k個(gè),那么縮左窗。

3. 代碼實(shí)現(xiàn)

class Solution:
    def longestEqualSubarray(self, nums: List[int], k: int) -> int:
        n = len(nums)
        g = [[] for _ in range(n+1)]
        for i,v in enumerate(nums):
            g[v].append(i)
        ans = 1 
        for a in g:
            q = deque()
            for v in a:
                q.append(v)
                while q[-1]-q[0]+1 - len(q) > k:
                    q.popleft()
                ans = max(ans,len(q))
        return ans         

參考鏈接

到了這里,關(guān)于[LeetCode周賽復(fù)盤] 第 359 場(chǎng)周賽20230820的文章就介紹完了。如果您還想了解更多內(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)文章

  • 【力扣周賽】第 352 場(chǎng)周賽

    【力扣周賽】第 352 場(chǎng)周賽

    第 352 場(chǎng)周賽 2760. 最長(zhǎng)奇偶子數(shù)組 提示: 1 = nums.length = 100 1 = nums[i] = 100 1 = threshold = 100 因?yàn)閿?shù)據(jù)范圍特別小,所以怎么暴力都是無(wú)所謂的。 繼續(xù)優(yōu)化 可以發(fā)現(xiàn),每個(gè)滿足條件的子數(shù)組是不會(huì)重疊的, 所以在枚舉 l 的時(shí)候,每次可以將下一個(gè) l 設(shè)置成 r。 代碼如下: 2761. 和

    2024年02月12日
    瀏覽(16)
  • 【力扣周賽】第350場(chǎng)周賽

    題目描述 描述:卡車有兩個(gè)油箱。給你兩個(gè)整數(shù),mainTank 表示主油箱中的燃料(以升為單位),additionalTank 表示副油箱中的燃料(以升為單位)。 該卡車每耗費(fèi) 1 升燃料都可以行駛 10 km。每當(dāng)主油箱使用了 5 升燃料時(shí),如果副油箱至少有 1 升燃料,則會(huì)將 1 升燃料從副油箱

    2024年02月09日
    瀏覽(21)
  • 【力扣周賽】第 357 場(chǎng)周賽(?反悔貪心)

    【力扣周賽】第 357 場(chǎng)周賽(?反悔貪心)

    https://leetcode.cn/contest/weekly-contest-357/ https://leetcode.cn/problems/faulty-keyboard/ 提示: 1 = s.length = 100 s 由小寫英文字母組成 s[0] != \\\'i\\\' 遇到 ‘i’ 翻轉(zhuǎn)已有的字符串,其它字符直接添加即可。 用一個(gè)變量維護(hù)當(dāng)前翻轉(zhuǎn)了幾次,來(lái)決定新來(lái)的字符添加在開(kāi)頭還是結(jié)尾。 https://leetcode.cn

    2024年02月09日
    瀏覽(51)
  • leetcode359周賽

    leetcode359周賽

    滑動(dòng)窗口 總長(zhǎng)度 - 眾數(shù) k 就需要收縮窗口了。 所以需要一個(gè)數(shù)據(jù)結(jié)構(gòu)統(tǒng)計(jì)眾數(shù): multiset 維護(hù)每一個(gè)數(shù)字的個(gè)數(shù)。 這里有一個(gè)坑 ms.erase(x) :會(huì)把所有的等于x的數(shù)字都刪除。所以需要使用 auto it = ms.find(x); ms.erase(it) 來(lái)進(jìn)行單個(gè)刪除。 排序 + 二分 + dp 類似于學(xué)最多的課程,按照

    2024年02月12日
    瀏覽(25)
  • 【LeetCode周賽】LeetCode第358場(chǎng)周賽

    【LeetCode周賽】LeetCode第358場(chǎng)周賽

    給你一個(gè)下標(biāo)從0開(kāi)始的整數(shù)數(shù)組nums。請(qǐng)你從nums中找出和最大的一對(duì)數(shù),且這兩個(gè)數(shù)數(shù)位上最大的數(shù)字相等。 返回最大和,如果不存在滿足題意的數(shù)字對(duì),返回 -1 。 示例 1: 輸入:nums = [51,71,17,24,42] 輸出:88 解釋: i = 1 和 j = 2 ,nums[i] 和 nums[j] 數(shù)位上最大的數(shù)字相等,且這

    2024年02月12日
    瀏覽(21)
  • 【LeetCode周賽】LeetCode第370場(chǎng)周賽

    【LeetCode周賽】LeetCode第370場(chǎng)周賽

    一場(chǎng)比賽中共有 n 支隊(duì)伍,按從 0 到 n - 1 編號(hào)。 給你一個(gè)下標(biāo)從 0 開(kāi)始、大小為 n * n 的二維布爾矩陣 grid 。對(duì)于滿足 0 = i, j = n - 1 且 i != j 的所有 i, j :如果 grid[i][j] == 1,那么 i 隊(duì)比 j 隊(duì) 強(qiáng) ;否則,j 隊(duì)比 i 隊(duì) 強(qiáng) 。 在這場(chǎng)比賽中,如果不存在某支強(qiáng)于 a 隊(duì)的隊(duì)伍,則認(rèn)為

    2024年02月05日
    瀏覽(18)
  • leetcode 第360場(chǎng)周賽

    好久沒(méi)參加leetcode周賽了,比賽時(shí)間都從兩小時(shí)變成了一個(gè)半小時(shí)。這次周賽由兩道簽到題和兩道中等難度題組成,嚴(yán)格來(lái)說(shuō)最后一道的難度也可以視為hard,但是只要想到正確的思路,編碼還是比較容易的。 比賽鏈接:leetcode 第 360 場(chǎng)周賽 題目描述 給你一個(gè)長(zhǎng)度為 n 的字符串

    2024年02月11日
    瀏覽(25)
  • LeetCode第354場(chǎng)周賽

    給你一個(gè)下標(biāo)從 1 開(kāi)始、長(zhǎng)度為 n 的整數(shù)數(shù)組 nums 。 對(duì) nums 中的元素 nums[i] 而言,如果 n 能夠被 i 整除,即 n % i == 0 ,則認(rèn)為 num[i] 是一個(gè) 特殊元素 。 返回 nums 中所有 特殊元素 的 平方和 。 直接模擬就好了 給你一個(gè)下標(biāo)從 0 開(kāi)始的整數(shù)數(shù)組 nums 和一個(gè) 非負(fù) 整數(shù) k 。 在一

    2024年02月16日
    瀏覽(28)
  • LeetCode第347場(chǎng)周賽

    2023.5.28LeetCode第347場(chǎng)周賽 從最后一位開(kāi)始遍歷,為0則跳過(guò) 暴力模擬 對(duì)于每個(gè) s[i] != s[i - 1] ,要使其相等 有兩種選擇,翻轉(zhuǎn)前 i 個(gè),或者翻轉(zhuǎn)后 n - i 個(gè),選擇代價(jià)最小的方案 動(dòng)態(tài)規(guī)劃 從小到大枚舉所有值,每個(gè)值一定是從更小的數(shù)轉(zhuǎn)移而來(lái) 定義動(dòng)態(tài)規(guī)劃數(shù)組f, f[i][j] 表示

    2024年02月06日
    瀏覽(18)
  • LeetCode第343場(chǎng)周賽

    2023.4.30LeetCode第343場(chǎng)周賽 根據(jù)題意模擬 使用哈希表記錄每個(gè)數(shù)出現(xiàn)的位置,再用m+n個(gè)集合記錄每一行和每一列被涂滿的格子數(shù),若某行或某列全部被涂滿則返回答案 BFS 首先將距離大于兩點(diǎn)的曼哈頓距離的特殊路徑去掉 每個(gè)點(diǎn)考慮經(jīng)過(guò)每個(gè)特殊路徑到達(dá),分成兩段,一段是當(dāng)

    2024年02月02日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包