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

LeetCode 每日一題 2023/8/7-2023/8/13

這篇具有很好參考價(jià)值的文章主要介紹了LeetCode 每日一題 2023/8/7-2023/8/13。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

記錄了初步解題思路 以及本地實(shí)現(xiàn)代碼;并不一定為最優(yōu) 也希望大家能一起探討 一起進(jìn)步




8/7 344. 反轉(zhuǎn)字符串

雙指針

def reverseString(s):
    """
    :type s: List[str]
    :rtype: None Do not return anything, modify s in-place instead.
    """
    l,r=0,len(s)-1
    while l<r:
        s[l],s[r]=s[r],s[l]
        l+=1
        r-=1



8/8 1749. 任意子數(shù)組和的絕對(duì)值的最大值

記錄最小值 最大值

def maxAbsoluteSum(nums):
    """
    :type nums: List[int]
    :rtype: int
    """
    n = len(nums)
    ans = 0
    minv,maxv = 0,0
    r = 0
    while r<n:
        minv+=nums[r]
        maxv+=nums[r]
        if maxv>0:
            ans = max(ans,maxv)
        else:
            maxv = 0
        if minv<0:
            ans = max(ans,-minv)
        else:
            minv = 0
        r+=1
    return ans



8/9 1281. 整數(shù)的各位積和之差

按要求計(jì)算

def subtractProductAndSum(n):
    """
    :type n: int
    :rtype: int
    """
    a,b = 1,0
    while n>0:
        v = n%10
        a *= v
        b += v
        n//=10
    return a-b



8/10 1289. 下降路徑最小和 II

從上到下遍歷每一行
在每一行中記錄最小值和次小值 及其位置
下一行使用到的必定只有這兩個(gè)值

def minFallingPathSum(grid):
    """
    :type grid: List[List[int]]
    :rtype: int
    """
    n = len(grid)
    first,second = (float("inf"),-1),(float("inf"),-1)
    for i in range(n):
        one,two = float("inf"),float("inf")
        f,s = -1,-1
        for j in range(n):
            cur = grid[i][j]
            if i!=0:
                if j==first[1]:
                    cur+=second[0]
                else:
                    cur+=first[0]
            if cur<one:
                two = one
                one = cur
                f = j
            elif cur<two:
                two = cur
                s=j
        first = (one,f)
        second = (two,s)
    return first[0]



8/11 1572. 矩陣對(duì)角線元素的和

計(jì)算每行需要累加的數(shù)位置

def diagonalSum(mat):
    """
    :type mat: List[List[int]]
    :rtype: int
    """
    ans = 0
    n= len(mat)
    for i in range(n):
        ans += mat[i][i]
        j = n-1-i
        if i!=j:
            ans+=mat[i][j]
    return ans




8/12 23. 合并 K 個(gè)升序鏈表

將每個(gè)鏈表當(dāng)前值放入小頂堆中
依次取堆中最小值 并將下一個(gè)節(jié)點(diǎn)放入

class ListNode(object):
     def __init__(self, val=0, next=None):
        self.val = val
        self.next = next
def mergeKLists(lists):
    """
    :type lists: List[ListNode]
    :rtype: ListNode
    """
    import heapq
    h = ListNode(0)
    cur = h
    l = []
    n = len(lists)
    for i in range(n):
        if lists[i]:
            heapq.heappush(l, (lists[i].val,i))
            lists[i]=lists[i].next
    while l:
        v,idx = heapq.heappop(l)
        cur.next = ListNode(v)
        cur = cur.next
        if lists[idx]:
            heapq.heappush(l,(lists[idx].val,idx))
            lists[idx]=lists[idx].next
    return h.next



8/13 88. 合并兩個(gè)有序數(shù)組

從大到小考慮文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-650003.html


def merge(nums1, m, nums2, n):
    """
    :type nums1: List[int]
    :type m: int
    :type nums2: List[int]
    :type n: int
    :rtype: None Do not return anything, modify nums1 in-place instead.
    """
    cur = m+n-1
    l,r=m-1,n-1
    while r>=0:
        while l>=0 and nums1[l]>nums2[r]:
            nums1[cur],nums1[l]=nums1[l],nums1[cur]
            cur-=1
            l-=1
        nums1[cur],nums2[r]=nums2[r],nums1[cur]
        cur-=1
        r-=1


到了這里,關(guān)于LeetCode 每日一題 2023/8/7-2023/8/13的文章就介紹完了。如果您還想了解更多內(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)文章

  • LeetCode 每日一題 2023/7/24-2023/7/30

    記錄了初步解題思路 以及本地實(shí)現(xiàn)代碼;并不一定為最優(yōu) 也希望大家能一起探討 一起進(jìn)步 7/24 771. 寶石與石頭 將寶石類型放入set中 一次判斷石頭中寶石個(gè)數(shù) 7/25 2208. 將數(shù)組和減半的最少操作次數(shù) 大頂堆記錄當(dāng)前最大值 每次取最大值減半 7/26 2569. 更新數(shù)組后處理求和查詢

    2024年02月15日
    瀏覽(45)
  • LeetCode 每日一題 2023/7/10-2023/7/16

    記錄了初步解題思路 以及本地實(shí)現(xiàn)代碼;并不一定為最優(yōu) 也希望大家能一起探討 一起進(jìn)步 7/10 16. 最接近的三數(shù)之和 排序 先確定一個(gè)最小數(shù) 雙指針確定之后兩個(gè)數(shù) 7/11 1911. 最大子序列交替和 dp dp[i][0/1] 表示第i個(gè)數(shù)坐標(biāo)為偶數(shù)或奇數(shù)的最大交替和 dp[i][0]=max(dp[i-1][0],dp[i-1][1

    2024年02月16日
    瀏覽(20)
  • LeetCode 每日一題 2023/9/25-2023/10/1

    記錄了初步解題思路 以及本地實(shí)現(xiàn)代碼;并不一定為最優(yōu) 也希望大家能一起探討 一起進(jìn)步 9/25 460. LFU 緩存 freqMap 以頻率為索引 存放一個(gè)雙向鏈表 每個(gè)節(jié)點(diǎn)存放key,value,freq keyMap 以key為索引存放在freqMap中的位置 9/26 2582. 遞枕頭 n個(gè)人 經(jīng)過(guò)2n-2次回到開始的人 9/27 1333. 餐廳過(guò)濾

    2024年02月07日
    瀏覽(24)
  • LeetCode 每日一題 2023/8/14-2023/8/20

    記錄了初步解題思路 以及本地實(shí)現(xiàn)代碼;并不一定為最優(yōu) 也希望大家能一起探討 一起進(jìn)步 8/14 617. 合并二叉樹 dfs深搜 8/15 833. 字符串中的查找與替換 op存放該位置能替換的數(shù)值 從頭遍歷每個(gè)位置 8/16 2682. 找出轉(zhuǎn)圈游戲輸家 模擬 8/17 1444. 切披薩的方案數(shù) 動(dòng)態(tài)規(guī)劃 dp[k][i][j] 表

    2024年02月12日
    瀏覽(24)
  • 2023-05-21 LeetCode每日一題(蓄水)

    LCP 33. 蓄水 點(diǎn)擊跳轉(zhuǎn)到題目位置 給定 N 個(gè)無(wú)限容量且初始均空的水缸,每個(gè)水缸配有一個(gè)水桶用來(lái)打水,第 i 個(gè)水缸配備的水桶容量記作 bucket[i]。小扣有以下兩種操作: 升級(jí)水桶:選擇任意一個(gè)水桶,使其容量增加為 bucket[i]+1 蓄水:將全部水桶接滿水,倒入各自對(duì)應(yīng)的水缸

    2024年02月05日
    瀏覽(23)
  • (搜索) 劍指 Offer 13. 機(jī)器人的運(yùn)動(dòng)范圍 ——【Leetcode每日一題】

    (搜索) 劍指 Offer 13. 機(jī)器人的運(yùn)動(dòng)范圍 ——【Leetcode每日一題】

    難度:中等 地上有一個(gè) m 行 n 列的方格,從坐標(biāo) [0,0] 到坐標(biāo) [m-1,n-1] 。一個(gè)機(jī)器人從坐標(biāo) [0, 0] 的格子開始移動(dòng),它每次可以向左、右、上、下移動(dòng)一格(不能移動(dòng)到方格外),也不能進(jìn)入行坐標(biāo)和列坐標(biāo)的數(shù)位之和大于 k 的格子。例如,當(dāng) k 為18時(shí),機(jī)器人能夠進(jìn)入方格

    2024年02月11日
    瀏覽(19)
  • 2023-08-28 LeetCode每日一題(插入?yún)^(qū)間)

    2023-08-28 LeetCode每日一題(插入?yún)^(qū)間)

    點(diǎn)擊跳轉(zhuǎn)到題目位置 給你一個(gè) 無(wú)重疊的 ,按照區(qū)間起始端點(diǎn)排序的區(qū)間列表。 在列表中插入一個(gè)新的區(qū)間,你需要確保列表中的區(qū)間仍然有序且不重疊(如果有必要的話,可以合并區(qū)間)。 示例 1: 示例 2: 示例 3: 示例 4: 示例 5: 提示: 0 = intervals.length = 10 4 interval

    2024年02月11日
    瀏覽(28)
  • 2023-08-27 LeetCode每日一題(合并區(qū)間)

    2023-08-27 LeetCode每日一題(合并區(qū)間)

    點(diǎn)擊跳轉(zhuǎn)到題目位置 以數(shù)組 intervals 表示若干個(gè)區(qū)間的集合,其中單個(gè)區(qū)間為 intervals[i] = [starti, endi] 。請(qǐng)你合并所有重疊的區(qū)間,并返回 一個(gè)不重疊的區(qū)間數(shù)組,該數(shù)組需恰好覆蓋輸入中的所有區(qū)間 。 示例 1: 示例 2: 提示: 1 = intervals.length = 10 4 intervals[i].length == 2 0 = s

    2024年02月10日
    瀏覽(28)
  • 【LeetCode每日一題合集】2023.7.3-2023.7.9

    【LeetCode每日一題合集】2023.7.3-2023.7.9

    445. 兩數(shù)相加 II 這道題目考察的實(shí)際知識(shí)點(diǎn)是高精度加法。更多關(guān)于高精度計(jì)算的內(nèi)容參見:【算法基礎(chǔ)】1.4 高精度(模擬大數(shù)運(yùn)算:整數(shù)加減乘除) 2679. 矩陣中的和 讀懂題意,每次操作會(huì)刪去每一行中的當(dāng)前最大值,同時(shí)將這些行最大值中的最大值加入最后的分?jǐn)?shù)。 為了

    2024年02月13日
    瀏覽(19)
  • 2023-07-15 LeetCode每日一題(四數(shù)之和)

    點(diǎn)擊跳轉(zhuǎn)到題目位置 給你一個(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日
    瀏覽(26)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包