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

2023-07-12力扣今日三題

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

鏈接:

2058. 找出臨界點(diǎn)之間的最小和最大距離

題意:

鏈表

某個(gè)節(jié)點(diǎn)嚴(yán)格大于前后時(shí),這個(gè)節(jié)點(diǎn)為局部極大值節(jié)點(diǎn);某個(gè)節(jié)點(diǎn)嚴(yán)格小于前后時(shí),這個(gè)節(jié)點(diǎn)為局部極小值節(jié)點(diǎn)

前提:必須前后均非空

找兩個(gè)不同臨界點(diǎn)的最大距離和最小距離

解:

一開始還以為要找極大和極小之間的最大最小,后來看了一下案例發(fā)現(xiàn)就是單純的不同臨界點(diǎn)

所以判斷一下是否是臨界點(diǎn),然后存一下上一個(gè)臨界點(diǎn)和第一個(gè)臨界點(diǎn)下標(biāo)就可以了

剩下都是一些基本鏈表操作

實(shí)際代碼:

#include<bits/stdc++.h>
using namespace std;
struct ListNode
{
    int val;
    ListNode *next;
    ListNode() : val(0), next(nullptr) {}
    ListNode(int x) : val(x), next(nullptr) {}
    ListNode(int x, ListNode *next) : val(x), next(next) {}
};
vector<int> nodesBetweenCriticalPoints(ListNode* head)
{
    vector<int> ans {INT_MAX,INT_MIN};
    int index_head=INT_MAX,index_pre=0;
    int t1=head->val,t2=0,t3=0;
    
    int mao=1;head=head->next;
    for(;head->next!=nullptr;mao++)
    {
        t2=head->val;t3=head->next->val;
        //cout<<mao<<":"<<t1<<" "<<t2<<" "<<t3<<endl;
        
        if(t3)//合規(guī)節(jié)點(diǎn) 
        {
            if( (t2<t1 && t2<t3) || (t2>t1 && t2>t3) )//局部極小值點(diǎn) || 局部極大值點(diǎn)
            {
                if(index_pre)//存在上一個(gè)臨界點(diǎn)
                {
                    ans[0]=min( ans[0] , abs(mao-index_pre) );
                }
                
                index_head=min(index_head,mao);
                index_pre=mao;
            }
        }
        
        head=head->next;t1=t2;
    }
    if(index_head==INT_MAX || index_head==index_pre)//沒有 || 僅一個(gè) 
    {
        ans[0]=ans[1]=-1;
    }
    else ans[1]=abs(index_pre-index_head);
    
    return ans;
}
int main()
{
    ListNode* head=nullptr;
    ListNode* thead;
    int n;cin>>n;
    
    for(int f=1;f<=n;f++)
    {
        int temp;cin>>temp;
        if(f==1)
        {
            head=new ListNode(temp);
            thead=head;
        }
        else
        {
            head->next=new ListNode(temp);
            head=head->next;
        }
    }
    
    vector<int> ans=nodesBetweenCriticalPoints(thead);
    
    for(auto i :ans) cout<<i<<" ";
    return 0;
}

限制:文章來源地址http://www.zghlxwxcb.cn/news/detail-554876.html

  • 鏈表中節(jié)點(diǎn)的數(shù)量在范圍 [2, 105] 內(nèi)
  • 1 <= Node.val <= 105

到了這里,關(guān)于2023-07-12力扣今日三題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(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)文章

  • 【力扣每日一題】2023.8.12 合并K個(gè)升序鏈表

    【力扣每日一題】2023.8.12 合并K個(gè)升序鏈表

    目錄 題目: 示例: 分析: 代碼: 題目給我們一個(gè)鏈表數(shù)組,數(shù)組里的鏈表都是升序的,讓我們合并這些鏈表,要求合并之后還是升序的。 最簡(jiǎn)單最直觀的做法就是遍歷整個(gè)數(shù)組,把每個(gè)鏈表的節(jié)點(diǎn)都取出來塞到一個(gè)容器里,然后對(duì)容器進(jìn)行升序排序,接著按順序重新串連

    2024年02月13日
    瀏覽(22)
  • 2023-08-12 LeetCode每日一題(合并 K 個(gè)升序鏈表)

    2023-08-12 LeetCode每日一題(合并 K 個(gè)升序鏈表)

    點(diǎn)擊跳轉(zhuǎn)到題目位置 給你一個(gè)鏈表數(shù)組,每個(gè)鏈表都已經(jīng)按升序排列。 請(qǐng)你將所有鏈表合并到一個(gè)升序鏈表中,返回合并后的鏈表。 示例 1: 示例 2: 示例 3:

    2024年02月13日
    瀏覽(24)
  • 2023-09-07力扣每日一題

    鏈接: [2594. 修車的最少時(shí)間](https://leetcode.cn/problems/form-smallest-number-from-two-digit-arrays/) 題意: 一個(gè)能力R的人R*N*N分鐘修N輛車,求最快多久修完(多人多車) 解: 二分很好想,主要是怎么檢查(數(shù)學(xué)廢物潤(rùn)去看題解了) 實(shí)際代碼: 限制: 1 = ranks.length = 105 1 = ranks[i] = 100 1 = ca

    2024年02月09日
    瀏覽(22)
  • 2023-07-27力扣每日一題

    鏈接: 2500. 刪除每行中的最大值 題意: 簡(jiǎn)單題,每次刪除每一行的最大值,存儲(chǔ)每次刪除中最大的數(shù)字 解: 對(duì)行排序,每一列取最大值 實(shí)際代碼: 限制: m == grid.length n == grid[i].length 1 = m, n = 50 1 = grid[i][j] = 100

    2024年02月15日
    瀏覽(27)
  • 2023-07-14力扣每日一題

    鏈接: 979. 在二叉樹中分配硬幣 題意: 一個(gè)二叉樹,n個(gè)節(jié)點(diǎn),節(jié)點(diǎn) 權(quán)值總和 為n, 每次 可以 相鄰節(jié)點(diǎn) 間移動(dòng) 1 權(quán)值 求讓每個(gè)節(jié)點(diǎn)都為1的最少次數(shù) 解: 給定了一個(gè)樹的結(jié)構(gòu)體,先整一手DFS/BFS,n不大,隨便莽莽 首先每個(gè)節(jié)點(diǎn)只需要剩下1,而且可以知道 葉子節(jié)點(diǎn) 如果不

    2024年02月16日
    瀏覽(19)
  • 2023-07-29力扣每日一題

    鏈接: 141. 環(huán)形鏈表 題意: 求鏈表是否有環(huán) 解: 剛好昨天做完的初級(jí)算法鏈表題,翻轉(zhuǎn)和暴力 實(shí)際代碼: 限制: 鏈表中節(jié)點(diǎn)的數(shù)目范圍是 [0, 104] -105 = Node.val = 105 pos 為 -1 或者鏈表中的一個(gè) 有效索引 。

    2024年02月15日
    瀏覽(21)
  • 2023-07-16力扣每日一題

    鏈接: 834. 樹中距離之和 題意: 給定一個(gè)樹,有n個(gè)節(jié)點(diǎn),需要得到每個(gè)節(jié)點(diǎn)與其他節(jié)點(diǎn)的距離和 解: 還以為是弗洛伊德,一看范圍3E4直接暈倒 想了四個(gè)小時(shí),實(shí)在是想不出來了,看了一下評(píng)論里的轉(zhuǎn)移公式 設(shè) DP[i] 為節(jié)點(diǎn) i 與其他節(jié)點(diǎn)的距離和, DP[F] 是節(jié)點(diǎn) i 的父節(jié)點(diǎn)與

    2024年02月16日
    瀏覽(28)
  • 2023-07-11力扣每日一題

    2023-07-11力扣每日一題

    鏈接: https://leetcode.cn/problems/maximum-alternating-subsequence-sum/ 題意: 給定一個(gè)數(shù)組,求一個(gè)子序列,使這個(gè)子序列的 奇數(shù)位和-偶數(shù)位和 最大(下標(biāo)從1開始的話|反正第一個(gè)數(shù)是+) 解: 找下坡,曲折處兩個(gè)分下坡大于一個(gè)總下坡(如圖) 實(shí)際代碼: 思維: DP?: 限制: 1 = nu

    2024年02月15日
    瀏覽(16)
  • 2023-07-15力扣每日一題

    鏈接: 18. 四數(shù)之和 題意: 一個(gè)數(shù)組n,一個(gè)目標(biāo)值t,在數(shù)組內(nèi)找四個(gè)數(shù)字和等于t,求能有多少種組合 解: 0716:一看怎么昨天卡沒打,原來昨天做的第一題不是每日一題,麻了 n很小,200,那么 先排序 ,然后弄一個(gè) 雙指針開雙循環(huán) l,r ,確定每個(gè)組合的最大數(shù)字-數(shù)字4和最

    2024年02月16日
    瀏覽(23)
  • 2023-07-18力扣每日一題-有點(diǎn)難

    鏈接: 1851. 包含每個(gè)查詢的最小區(qū)間 題意: 給定一個(gè)區(qū)間二維數(shù)組,有 N個(gè)[L,R] 區(qū)間(閉區(qū)間) 給定一組查詢,有 M個(gè)正整數(shù) ,求 存在于區(qū)間數(shù)組中的最小 R-L+1 滿足 L=M[i]=R 解: 本來 看標(biāo)簽有個(gè)掃描線,想寫個(gè)差分,然后排序查詢整O(1)查詢的,沒寫出來QWQ,也不知道有沒

    2024年02月16日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包