欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

《InterviewGuide》第十彈面試手撕題

說(shuō)實(shí)話,算法這種東西沒(méi)得快速提升,算法能力的提升需要日積月累慢慢累積而成的。

在互聯(lián)網(wǎng)招聘中,不管是筆試還是面試中的手撕算法,可以考察的算法題簡(jiǎn)直不要太多。比如鏈表、樹(shù)、數(shù)組、動(dòng)態(tài)規(guī)劃、回溯算法、貪心算法、甚至是拓?fù)涠加锌赡芸疾斓健?/p>

而一般說(shuō)來(lái)筆試的難度是比面試稍微高一些的,面試中的手撕算法難度一般是力扣的 medium 水平,也有一些 easy 的,而筆試至少都是力扣 medium 難度以上的。

我僅在這章節(jié)中為大家盤(pán)點(diǎn)一下互聯(lián)網(wǎng)大廠面試考察頻率比較高的幾道手撕算法題,希望我的整理對(duì)大家有一點(diǎn)點(diǎn)用處,那我就很高興了!。

1、合并有序鏈表

將兩個(gè)有序的鏈表合并為一個(gè)新鏈表,要求新的鏈表是通過(guò)拼接兩個(gè)鏈表的節(jié)點(diǎn)來(lái)生成的。

輸入:1->2->4, 1->3->4
輸出:1->1->2->3->4->4

力扣鏈接:https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/

#include <iostream>
using namespace std;

struct myList {
    int val;
    myList* next;
    myList(int _val) :val(_val), next(nullptr) {}
};

myList* merge(myList* l1, myList* l2) {

    if (l1 == nullptr) return l2;
    if (l2 == nullptr) return l1;
    myList head(0);
    myList* node = &head;
    while (l1 != nullptr && l2 != nullptr) {
        if (l1->val < l2->val) {
            node->next = l1;
            l1 = l1->next;

        }
        else {
            node->next = l2;
            l2 = l2->next;
        }
        node = node->next;
    }

    if (l1 == nullptr)
        node->next = l2;
    if (l2 == nullptr)
        node->next = l1;

    return head.next;

};

int main(void) {

    myList* node0 = new myList(0);
    myList* node1 = new myList(1);
    myList* node2 = new myList(2);
    myList* node3 = new myList(3);

    myList* node4 = new myList(1);
    myList* node5 = new myList(4);
    node0->next = node1;
    node1->next = node2;
    node2->next = node3;
    node3->next = nullptr;
    node4->next = node5;
    node5->next = nullptr;

    auto node = merge(node0, node4);
    while (node != nullptr) {
        cout << node->val << endl;
        node = node->next;
    }

    return 0;
}

2、反轉(zhuǎn)鏈表

定義一個(gè)函數(shù),輸入一個(gè)鏈表的頭節(jié)點(diǎn),反轉(zhuǎn)該鏈表并輸出反轉(zhuǎn)后鏈表的頭節(jié)點(diǎn)。

輸入: 1->2->3->4->5->NULL
輸出: 5->4->3->2->1->NULL

第一種做法

#include<algorithm>
#include<unordered_map>
#include <iostream>
#include<vector>

using namespace std;

struct node {
    int  data;
    struct node* next;
    node(int _data) :data(_data), next(nullptr) {
    }
};

struct node* init() {
    node* head = new node(1);
    node* node1 = new node(2);
    node* node2 = new node(3);
    node* node3 = new node(4);
    node* node4 = new node(5);

    head->next = node1;
    node1->next = node2;
    node2->next = node3;
    node3->next = node4;
    node4->next = nullptr;

    return head;
}

struct node* reverse(node* head) {
    struct node* pre = new node(-1);
    struct node* temp = new node(-1);
    pre = head;
    temp = head->next;
    pre->next = nullptr;    
    struct node* cur = new node(-1);
    cur = temp;
    while (cur != nullptr) {
        temp = cur;
        cur = cur->next;
        temp->next = pre;
        pre = temp;
    }

    return pre;
}

int main(){
    auto head = init();
    head = reverse(head);
    while (head != nullptr) {
        cout << head->data << endl;
        head = head->next;
    }

    return 0;
}

第二種做法

//頭插法來(lái)做,將元素開(kāi)辟在棧上,這樣會(huì)避免內(nèi)存泄露
ListNode* ReverseList(ListNode* pHead) {

    // 頭插法
    if (pHead == nullptr || pHead->next == nullptr) return pHead;
    ListNode dummyNode = ListNode(0);
    ListNode* pre = &(dummyNode);
    pre->next = pHead;
    ListNode* cur = pHead->next;
    pHead->next = nullptr;
    //pre = cur;
    ListNode* temp = nullptr;
    while (cur != nullptr) {
        temp = cur;
        cur = cur->next;
        temp->next = pre->next;
        pre->next = temp;
    }
    return dummyNode.next;

}

3、單例模式

餓漢模式

class singlePattern {
private:
    singlePattern() {};
    static singlePattern* p;
public:
    static singlePattern* instance();

    class CG {
    public:
        ~CG() {
            if (singlePattern::p != nullptr) {
                delete singlePattern::p;
                singlePattern::p = nullptr;
            }
        }
    };
};

singlePattern* singlePattern::p = new singlePattern();
singlePattern* singlePattern::instance() {
    return p;
}

update1: instance 手誤寫(xiě)成 instacne,微信好友“卷軸”提出,已修正,感謝!- 20210407

懶漢模式

class singlePattern {
private:
    static singlePattern* p;
    singlePattern(){}
public:
    static singlePattern* instance();
    class CG {
    public:
        ~CG() {
            if (singlePattern::p != nullptr) {
                delete singlePattern::p;
                singlePattern::p = nullptr;
            }
        }
    };
};
singlePattern* singlePattern::p = nullptr;
singlePattern* singlePattern::instance() {
    if (p == nullptr) {
        return new singlePattern();
    }
    return p;
}

4、簡(jiǎn)單工廠模式

typedef enum productType {
    TypeA,
    TypeB,
    TypeC
} productTypeTag;

class Product {

public:
    virtual void show() = 0;
    virtual ~Product() = 0;
};

class ProductA :public Product {
public:
    void show() {
        cout << "ProductA" << endl;
    }
    ~ProductA() {
        cout << "~ProductA" << endl;
    }
};

class ProductB :public Product {
public:
    void show() {
        cout << "ProductB" << endl;
    }
    ~ProductB() {
        cout << "~ProductB" << endl;
    }
};

class ProductC :public Product {
public:
    void show() {
        cout << "ProductC" << endl;
    }
    ~ProductC() {
        cout << "~ProductC" << endl;
    }
};

class Factory {

public:
    Product* createProduct(productType type) {
        switch (type) {
        case TypeA:
            return new ProductA();
        case TypeB:
            return new ProductB();
        case TypeC:
       

剩余60%內(nèi)容,訂閱專欄后可繼續(xù)查看/也可單篇購(gòu)買(mǎi)

????《阿秀的校招求職筆記》 文章被收錄于專欄

- 本專欄成功幫助阿秀拿到字節(jié)跳動(dòng)SP的offer,脫胎于個(gè)人秋招時(shí)期的筆記總結(jié)。其中收納C++(217道)、操作系統(tǒng)(62道)、計(jì)算機(jī)網(wǎng)絡(luò)(100道)、數(shù)據(jù)結(jié)構(gòu)與算法、數(shù)據(jù)庫(kù)(MySQL、Redis)等高頻問(wèn)答知識(shí)點(diǎn)。 - 本專欄適合于校招、社招等找工作黨,后來(lái)逐漸收錄一些學(xué)弟學(xué)妹的上岸經(jīng)驗(yàn)和方法,歡迎訂閱,持續(xù)更新ing。

全部評(píng)論
想請(qǐng)教一下,單例模式里面的CG類是什么??
點(diǎn)贊 回復(fù) 分享
發(fā)布于 2021-06-14 16:14
感謝參與【創(chuàng)作者計(jì)劃2期·技術(shù)干貨場(chǎng)】!歡迎更多牛油來(lái)寫(xiě)干貨,瓜分總計(jì)20000元獎(jiǎng)勵(lì)!!技術(shù)干貨場(chǎng)活動(dòng)鏈接:http://fangfengwang8.cn/link/czz2jsghtlq(參與獎(jiǎng)馬克杯將于每周五結(jié)算,敬請(qǐng)期待~)
點(diǎn)贊 回復(fù) 分享
發(fā)布于 2021-04-14 11:51
來(lái)了阿秀
點(diǎn)贊 回復(fù) 分享
發(fā)布于 2021-04-09 23:16

相關(guān)推薦

入職一個(gè)多月了,來(lái)分享一些landing的感受~&nbsp;整體說(shuō)下:可以打85分,畢竟當(dāng)時(shí)辭職就是想要走出舒適圈,的確也會(huì)有些不舒適,但基本上是因?yàn)榘⒗锖途W(wǎng)易風(fēng)格有差別,需要一些時(shí)間適應(yīng)&nbsp;我所在的產(chǎn)品線整體風(fēng)格不卷,加班不嚴(yán)重,周末大家都安排自己的生活,可以安心放下手機(jī),也讓我徹底放下“不秒回羞恥癥”&nbsp;阿里云團(tuán)隊(duì)規(guī)模太大,分工很細(xì),人也很多,想搞清楚一件事情要對(duì)接好多好多人,要熟悉的流程也賊多,這個(gè)過(guò)程的確有些累,但我估計(jì)只要在大廠都會(huì)這樣&nbsp;感覺(jué)這邊做事情自由度更高,換句話說(shuō),老板只要結(jié)果,過(guò)程怎么做自己想辦法去&nbsp;凡事凡人都愛(ài)講價(jià)值。初次對(duì)接的其他部門(mén)的同事,也會(huì)直接問(wèn)我,“你對(duì)業(yè)務(wù)的價(jià)值是什么”&nbsp;前線上線下接觸到的同事估計(jì)有四五十個(gè),99%交流都順暢,有話都直說(shuō)&nbsp;一個(gè)月約了不少coffee&nbsp;talk,即使沒(méi)有直接的工作關(guān)聯(lián),大家還都挺熱心解答我各種疑惑,很開(kāi)心&nbsp;和+1&nbsp;溝通很順暢,一是我剛?cè)肼毦秃退_認(rèn)了溝通風(fēng)格,二是我會(huì)主動(dòng)表達(dá)自己的一些困惑,尋求幫助。當(dāng)我不知道怎么和其他團(tuán)隊(duì)TL&nbsp;開(kāi)展協(xié)同的時(shí)候,她也會(huì)幫我絲滑落地&nbsp;另外有幾個(gè)我?guī)熜纸o的tips:&nbsp;?拋開(kāi)對(duì)情緒的關(guān)注,過(guò)分關(guān)注對(duì)方是老員工or說(shuō)了句什么重話or質(zhì)疑了什么,就沒(méi)法協(xié)作了&nbsp;?即使不喜歡,在該刷存在感的時(shí)候也得刷&nbsp;?等過(guò)了前半年蜜月期,也許你也會(huì)感到工作很痛苦&nbsp;新環(huán)境讓我的狀態(tài)好了很多,或許是因?yàn)檫€在蜜月期,or團(tuán)隊(duì)的風(fēng)格,or只是還沒(méi)接觸到那么多人和事兒,我也不確定從多久后開(kāi)始,我也會(huì)感到煩躁、痛苦。&nbsp;那,既然不知道,當(dāng)然是能快樂(lè)一天是一天啦~&nbsp;還有就是,我相信這一次的轉(zhuǎn)變,我個(gè)人在心境上的調(diào)整和成長(zhǎng)也起到了很大的作用。&nbsp;無(wú)論世界怎樣,把情緒掌握在自己手中。阿里云2026屆可轉(zhuǎn)正實(shí)習(xí)生招聘正式開(kāi)啟!【公司介紹】阿里云是全球領(lǐng)先的云計(jì)算及人工智能科技公司,堅(jiān)持讓計(jì)算成為公共服務(wù),助力全球客戶加速價(jià)值創(chuàng)新?!菊衅笉徫弧考夹g(shù)類、運(yùn)營(yíng)類、設(shè)計(jì)類、營(yíng)銷類、產(chǎn)品類、內(nèi)容類、職能類等(每位同學(xué)僅有1次投遞機(jī)會(huì),2個(gè)意向)【工作地點(diǎn)】杭州、北京、上海、深圳、成都等城市【面向人群】海內(nèi)外院校2026屆畢業(yè)生,畢業(yè)時(shí)間在2025年11月-2026年10月內(nèi)【內(nèi)推步驟】點(diǎn)擊「內(nèi)推鏈接」開(kāi)啟內(nèi)推-&amp;amp;gt;查看內(nèi)推職位/部門(mén)-&amp;amp;gt;提交個(gè)人信息-&amp;amp;gt;點(diǎn)擊郵件內(nèi)鏈接確認(rèn)接受內(nèi)推,補(bǔ)充意向并完善簡(jiǎn)歷-&amp;amp;gt;內(nèi)推成功??內(nèi)推一鍵投遞:https://careers.aliyun.com/campus/qrcode/apply/positions?code=yzYD/K3PP/D42kc4e1WhOePAeAX7co5ZGo9MaGDwhhQ=&nbsp;&nbsp;&nbsp;&nbsp;(內(nèi)推簡(jiǎn)歷優(yōu)先篩選,后續(xù)有疑問(wèn)/流程問(wèn)題歡迎聯(lián)系)使用內(nèi)推碼簡(jiǎn)歷優(yōu)先篩選,有任何問(wèn)題包括進(jìn)度查詢可以私信我,內(nèi)推后在評(píng)論區(qū)留言【姓名縮寫(xiě)+崗位】,方便撈人和確認(rèn)投遞狀態(tài) #春招#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#內(nèi)推#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#內(nèi)推碼#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#阿里云#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
點(diǎn)贊 評(píng)論 收藏
分享
評(píng)論
3
10
分享

創(chuàng)作者周榜

更多
??途W(wǎng)
牛客企業(yè)服務(wù)