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

刷了3個月的華為OD算法題,刷出感覺了,如潔柔般絲滑,文末送《漫畫算法2:小灰的算法進階》

這篇具有很好參考價值的文章主要介紹了刷了3個月的華為OD算法題,刷出感覺了,如潔柔般絲滑,文末送《漫畫算法2:小灰的算法進階》。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

刷了3個月的華為OD算法題,刷出感覺了,如潔柔般絲滑,文末送《漫畫算法2:小灰的算法進階》,搬磚工逆襲Java架構(gòu)師,華為od,算法,java,前沿資訊,小灰算法,原力計劃

大家好,我是哪吒。

最近一直在刷華為OD機試的算法題,堅持一天三道題的節(jié)奏,已經(jīng)三個多月了,刷了270多道題,剛開始也有過想放棄的想法,刷一道卡一道,一道題要用1小時,因為太菜了嗎?哎,一言難盡

隨著時間的推移,感覺自己慢慢上道了,一道題用不上1個小時了,哈哈,這就是進步嘛

一、考研二戰(zhàn),入職華為,反向調(diào)劑電子科大深圳

不經(jīng)意間在網(wǎng)上看到一個帖子《考研二戰(zhàn),入職華為,反向調(diào)劑電子科大深圳》,寫的真不錯,分享給大家。

加入華為OD后,給我的感覺比想象中,或者說比網(wǎng)上大部分的說法都要好。

我覺得在這里能學到很多東西,畢竟是大公司,平臺也大,能接觸到的牛人也多。

我覺得一個初來乍到的應屆本科生受到歧視也正常,周圍都是名校碩博,作為一個新人我沒有任何理由驕傲。技不如人甘拜下風,虛心一點好好學習也是好的。

另外,我覺得無論是校招進華為正式,還是社招進華為od,我感覺沒有想象中區(qū)別那么明顯。

技術(shù)崗還是靠實力說話。我們的od員工和正式員工辦公上沒有一點差別,甚至我們組的美本的正式員工第一個月都不知道我們之間有什么區(qū)別。

我的本科同班同學校招進華為的也搞不懂我工號和他們正式員工工號的區(qū)別。

我的od同事有7年的ios開發(fā)經(jīng)驗,是從隔壁某個體面的硬件大廠跳槽過來的,因為工作經(jīng)驗豐富,反而成為了我和一個正式員工(應屆)的老師。

我相信以他的實力,一年期滿很快就能完成轉(zhuǎn)正。即便轉(zhuǎn)正名額給他而不給我,我也服氣的。

我覺得在華為有一個巨大的優(yōu)勢,就是信息上的優(yōu)勢。

畢竟是在華為,了解到的資訊都是第一手的,很多消息非常通暢。

比方說我之前在學校完全不能理解大公司是怎么招人的,而在這里通過別人的只言片語,能對這個流程有個初步的理解感受。

包括下文中我提到了解非全碩士的過程,華為這個平臺也給我提供了第一手的信息。

對于我的朋友,行業(yè)外的肯定不會認可我的本科,但是我直接籠統(tǒng)地說我在華為工作,外行便會肅然起敬。

而行業(yè)內(nèi)的人我稍微解釋一下他們也能理解,行業(yè)內(nèi)還是看你的技術(shù)的,我還是非常肯定我自己的專業(yè)實力的。

并且行業(yè)內(nèi)也知道我的本科杭州電子科技大學是華為目標院校,可以直接華為校招成為正式員工的。

比方說我這個工作除了簽協(xié)議是和德科公司簽的以外,別的部分都挺完美的了:是軟件開發(fā)的技術(shù)崗、華為核心部分、利于項目經(jīng)驗積累、待遇不錯。

畢竟我就是正兒八經(jīng)的華為的社招,錯過了校招的正式招聘時間才只能和德科簽合同的。

反正對于我來說,每個人要找到適合自己的,找到自己的需求。需要什么,就去拿什么。入職的這一個月見識到了很多東西,收獲頗豐,進步巨大。每天都在不停地自我更新中,感覺很好。

關(guān)于華為od,網(wǎng)上詬病最多的就是轉(zhuǎn)正華為正式員工部分了。甚至我曾經(jīng)做過hr的表姐都告誡我,“千萬別去華為od,因為od永遠不可以轉(zhuǎn)正?!?/p>

我多方打聽,包括反復跟招我的人確定轉(zhuǎn)正情況。對方答復說我們部門有30%的轉(zhuǎn)正率。我也通過其他不可能跟招我的人有聯(lián)系的人確認了下,確認這個部門的轉(zhuǎn)正率確實是30%。這才讓我足夠信任他們。

然后我在本科學校杭電的校內(nèi)群里聯(lián)系了兩個華為od的校友,他們都是入職一年就獲得了轉(zhuǎn)正資格。我覺得他們是利益相關(guān)者,所以他們的話只能信一半。

我的核心想法是,我來華為就是來提升進步的,既然有轉(zhuǎn)正機會,那么我就應該進去試試。如果我沒法轉(zhuǎn)正,那么我應該華為校招的正式崗位也過不了。

如果放棄這個offer去別的公司,如???。幾年之后我大概率還是要跳槽來華為,那么既然華為的低端社招=od,那么我跳槽華為也只能當od。

下面分享一道2023 B卷 朋友抽中題 簡易內(nèi)存池:

二、題目描述

請實現(xiàn)一個簡易內(nèi)存池,根據(jù)請求命令完成內(nèi)存分配和釋放。

內(nèi)存池支持兩種操作命令,REQUEST和RELEASE,其格式為:

1、REQUEST

請求的內(nèi)存大小表示請求分配指定大小內(nèi)存,如果分配成功,返回分配到的內(nèi)存首地址;如果內(nèi)存不足,或指定的大小為0,則輸出error。

2、RELEASE

釋放的內(nèi)存首地址 表示釋放掉之前分配的內(nèi)存,釋放成功無需輸出,如果釋放不存在的首地址則輸出error。

注意:

1.內(nèi)存池總大小為100字節(jié)。
2.內(nèi)存池地址分配必須是連續(xù)內(nèi)存,并優(yōu)先從低地址分配。
3.內(nèi)存釋放后可被再次分配,已釋放的內(nèi)存在空閑時不能被二次釋放。
4.不會釋放已申請的內(nèi)存塊的中間地址。
5.釋放操作只是針對首地址所對應的單個內(nèi)存塊進行操作,不會影響其它內(nèi)存塊。

三、輸入描述

首行為整數(shù)N,表示操作命令的個數(shù)。

接下來的N行,每行將給出一個操作命令,操作命令和參數(shù)之間用“=”分割

四、輸出描述

輸出最后請求的內(nèi)存的首地址。

如果位置已滿,則輸出-1。

樣例:

2
REQUEST=10
REQUEST=20

輸出樣例:

0
10

五、解題思路

  1. 定義一個map,存儲內(nèi)存的分配情況(key:內(nèi)存的首地址,value:內(nèi)存的尾地址);
  2. 請求內(nèi)存時
    • 如果map是空,放在首地址0處;
    • 如果map不為空,遍歷已經(jīng)存入的首地址;
      • 已經(jīng)存入的首地址 - 第一個空閑區(qū)域的首地址 大于 請求的內(nèi)存值;
      • 將當前請求的內(nèi)存的首地址和內(nèi)存的尾地址存入map;
      • 反之,重置前一個空閑區(qū)域的首地址;
    • 判斷剩余內(nèi)存是否可以容下當前請求值;
      • 如果可以容下,將當前請求的內(nèi)存的首地址和內(nèi)存的尾地址存入map;
      • 如果容不下,輸出error;
  3. 釋放內(nèi)存時,將其首地址的key移除map;
  4. 最后輸出最后一次請求的首地址。

注意:如果最后發(fā)起的命令是RELEASE,也是可以的,會返回最后一次REQUEST的首地址。

六、Java算法源碼

package com.guor.od;

import java.util.*;

public class OdTest03 {

    static final String REQUEST = "REQUEST";
    static final String RELEASE = "RELEASE";
    static final String ERROR = "error";
    static final int MAX = 100;

    public static void main(String[] args) {
        try {
            Scanner sc = new Scanner(System.in);
            // 操作命令的個數(shù)
            int N = Integer.parseInt(sc.nextLine());
            // 每一行的操作命令和參數(shù)
            String[][] lineArr = new String[N][2];
            // 接下來的N行,每行將給出一個操作命令,操作命令和參數(shù)之間用“=”分割
            for (int i = 0; i < N; i++) {
                lineArr[i] = sc.nextLine().split("=");
            }

            for (int i = 0; i < N; i++) {
                // 內(nèi)存大小
                int value = Integer.parseInt(lineArr[i][1]);
                if (lineArr[i][0].startsWith(REQUEST)) {// 請求
                    // 非法輸入(內(nèi)存池總大小為100字節(jié))
                    if (value > MAX || value <= 0) {
                        System.out.println(ERROR);
                        return;
                    }
                    request(value);
                } else if (lineArr[i][0].startsWith(RELEASE)) {// 釋放
                    map.remove(value);
                } else {// 非法輸入
                    System.out.println(ERROR);
                }
            }
        } catch (Exception e) {
            // 非法輸入
            System.out.println(ERROR);
        }
    }

    /**
     * 存儲內(nèi)存的分配情況
     * key:內(nèi)存的首地址
     * value:內(nèi)存的尾地址
     */
    static Map<Integer, Integer> map = new TreeMap<>();

    /**
     * 請求內(nèi)存
     * @value:大小
     */
    public static void request(int value) {
        int zero = 0;
        // 前一個空閑區(qū)域的首地址
        int beforeHeadAddress = 0;

        // 如果map是空,放在首地址0處
        if (map.isEmpty()) {
            map.put(zero, value);
        } else {
            // 已經(jīng)存入的首地址
            List<Integer> headList = new ArrayList<>(map.keySet());
            // 已經(jīng)存入的首地址
            for (Integer requestedHead : headList) {
                // 已經(jīng)存入的首地址 - 第一個空閑區(qū)域的首地址 大于 請求的內(nèi)存值
                if (requestedHead - beforeHeadAddress >= value) {
                    /**
                     * beforeHeadAddress:內(nèi)存的首地址
                     * beforeHeadAddress + value:內(nèi)存的尾地址
                     */
                    map.put(beforeHeadAddress, beforeHeadAddress + value);
                } else {
                    // 前一個空閑區(qū)域的首地址
                    beforeHeadAddress = map.get(requestedHead);
                }
            }
            // 判斷剩余內(nèi)存是否可以容下當前請求值
            if (MAX - beforeHeadAddress >= value) {
                map.put(beforeHeadAddress, beforeHeadAddress + value);
            } else {
                // 如果位置已滿,則輸出-1。
                System.out.println("-1");
            }
        }
        System.out.println(beforeHeadAddress);
    }
}

七、效果展示

1、輸入

4
REQUEST=20
REQUEST=30
RELEASE=0
REQUEST=30

2、輸出

50

3、說明

  • 第一次請求20
  • 第二請求30
  • 第三次釋放首地址為0的內(nèi)存
  • 第四次請求30,第一個空閑區(qū)域的首地址是0,但空閑長度只有20,放不下當前請求的地址,因此消耗剩余內(nèi)存,輸出最后一次請求的首地址為50。

刷了3個月的華為OD算法題,刷出感覺了,如潔柔般絲滑,文末送《漫畫算法2:小灰的算法進階》,搬磚工逆襲Java架構(gòu)師,華為od,算法,java,前沿資訊,小灰算法,原力計劃

4、再輸入

6
REQUEST=20
REQUEST=30
RELEASE=0
REQUEST=30
REQUEST=10
REQUEST=10

5、再說明

  • 第一次請求20
  • 第二請求30
  • 第三次釋放首地址為0的內(nèi)存
  • 第四次請求30,第一個空閑區(qū)域的首地址是0,但空閑長度只有20,放不下當前請求的地址,因此消耗剩余內(nèi)存。
  • 第五次請求10,第一個空閑區(qū)域的首地址是0,長度20,可以容下當前請求的內(nèi)存10。
  • 第六次請求10,第一個空閑區(qū)域的首地址是10,長度10,可以容下當前請求的內(nèi)存10。
  • 輸出最后一次請求的首地址為10。

刷了3個月的華為OD算法題,刷出感覺了,如潔柔般絲滑,文末送《漫畫算法2:小灰的算法進階》,搬磚工逆襲Java架構(gòu)師,華為od,算法,java,前沿資訊,小灰算法,原力計劃

刷了3個月的華為OD算法題,刷出感覺了,如潔柔般絲滑,文末送《漫畫算法2:小灰的算法進階》,搬磚工逆襲Java架構(gòu)師,華為od,算法,java,前沿資訊,小灰算法,原力計劃

6、如果走后一次請求的是20,會怎么樣呢?

刷了3個月的華為OD算法題,刷出感覺了,如潔柔般絲滑,文末送《漫畫算法2:小灰的算法進階》,搬磚工逆襲Java架構(gòu)師,華為od,算法,java,前沿資訊,小灰算法,原力計劃

八、漫畫算法2:小灰的算法進階

本書是《漫畫算法:小灰的算法之旅》的續(xù)作,通過主人公小灰的心路歷程,用漫畫的形式講述了多個數(shù)據(jù)結(jié)構(gòu)、算法及復雜多變的算法面試題目。

  • 第1章介紹了幾種典型的排序算法,包括選擇排序、插入排序、希爾排序、歸并排序、基數(shù)排序。
  • 第2章介紹了“樹”結(jié)構(gòu)的高級應用,包括二叉查找樹、AVL樹、紅黑樹、B樹和B+樹。
  • 第3章介紹了“圖”結(jié)構(gòu)的概念,以及深度優(yōu)先遍歷、廣度優(yōu)先遍歷、單源最短路徑、多源最短路徑算法。
  • 第4章介紹了“查找”相關(guān)的算法和數(shù)據(jù)結(jié)構(gòu),包括二分查找算法、RK算法、KMP算法,以及“跳表”這種用于高效查找的數(shù)據(jù)結(jié)構(gòu)。
  • 第5章介紹了多種職場上流行的算法面試題目及詳細的解題思路,例如螺旋遍歷二維數(shù)組、尋找數(shù)組中第k大元素、求股票交易的更大收益等。

參與方式

圖書數(shù)量:本次送出 4 本 ?。。????????
活動時間:截止到 2023-08-15 12:00:00

??抽獎方式:

  1. 根據(jù)文章內(nèi)容進行高質(zhì)量評論
  2. 留言中隨機抽取4位小伙伴

??哪吒會在本文留言區(qū)置頂公布中獎名單
名單公布時間:2023-08-15 13點

??第1期中獎名單公布:
啥咕啦嗆
空圓小生
獅子也瘋狂
千子。
刷了3個月的華為OD算法題,刷出感覺了,如潔柔般絲滑,文末送《漫畫算法2:小灰的算法進階》,搬磚工逆襲Java架構(gòu)師,華為od,算法,java,前沿資訊,小灰算法,原力計劃文章來源地址http://www.zghlxwxcb.cn/news/detail-649530.html

到了這里,關(guān)于刷了3個月的華為OD算法題,刷出感覺了,如潔柔般絲滑,文末送《漫畫算法2:小灰的算法進階》的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 自學了半個月感覺一點也沒學會Python,Python真的有這么難學嗎

    自學了半個月感覺一點也沒學會Python,Python真的有這么難學嗎

    ??Python的基礎(chǔ)語法掌握是必備的技能,認識到了Python語言的美妙,即使你之前用過其他的開發(fā)語言,也會轉(zhuǎn)到Python的行列之中。掌握字符串的解析未來你會意識到各種各樣的程序直接把字符串傳來傳去,包括日志的分析,日志即字符串,所以字符串就是未來做項目的基礎(chǔ)。

    2023年04月08日
    瀏覽(20)
  • [華為OD] 最小傳輸時延(dijkstra算法)

    明天就要面試了我也太緊張了吧 但是終于找到了一個比較好理解的dijkstra的python解法,讓我快點把它背下來?。。?! 先把題目放出來 某通信網(wǎng)絡中有N個網(wǎng)絡結(jié)點,用1到N進行標識。網(wǎng)絡通過一個有向無環(huán)圖表示,其中題的邊的值表示結(jié)點之間的消息傳遞時延?,F(xiàn)給定相連節(jié)

    2024年02月15日
    瀏覽(17)
  • 華為OD機考算法題:最遠足跡

    題目部分 解讀與分析 代碼實現(xiàn) 題目 最遠足跡 難度 易 題目說明 某探險隊負責對地下洞穴進行探險。 探險隊成員在進行探險任務時,隨身攜帶的記錄器會不定期地記錄自身的坐標,但在記錄的間隙中也會記錄其他數(shù)據(jù)。探索工作結(jié)束后,探險隊需要獲取到某成員在探險過程

    2024年02月09日
    瀏覽(19)
  • 華為OD機考算法題:分獎金

    題目 分獎金 難度 難 題目說明 公司老板做了一筆大生意,想要給每位員工分配一些獎金,想通過游戲的方式來決定每個人分多少錢。按照員工的工號順序,每個人隨機抽取一個數(shù)字。按照工號的順序往后排列,遇到第一個數(shù)字比自己數(shù)字大的,那么,前面的員工就可以獲得

    2024年02月09日
    瀏覽(24)
  • 華為OD機考算法題:TLV解碼

    題目部分 解析與思路 代碼實現(xiàn) 題目 TLV編碼 難度 易 題目說明 TLV編碼是按 [Tag Length Value] 格式進行編碼的,一段碼流中的信元用 Tag 標識,Tag 在碼流中唯一不重復,Length 表示信元Value的長度,Value 表示信元的值。 碼流以某信元的 Tag 開頭,Tag 固定占一個字節(jié),Length 固定占兩

    2024年02月09日
    瀏覽(16)
  • 華為OD機考算法題:高效的任務規(guī)劃

    題目 高效的任務規(guī)劃 難度 難 題目說明 你有 n 臺機器編號為? 1 ~ n ,每臺都需要完成一項工作, 機器經(jīng)過配置后都能獨立完成一項工作。 假設(shè)第? i? 臺機器你需要花??分鐘進行設(shè)置, 然后開始運行,? ?分鐘后完成任務。 現(xiàn)在,你需要選擇布置工作的順序,使得用最短的

    2024年02月07日
    瀏覽(14)
  • 華為OD機考算法題:MVP爭奪戰(zhàn)

    題目部分 解讀與分析 代碼實現(xiàn) 題目 MVP爭奪戰(zhàn) 難度 易 題目說明 在星球爭霸籃球賽對抗賽中,強大的宇宙戰(zhàn)隊,希望每個人都能拿到MVP。 MVP的條件是,單場最高分得分獲得者,可以并列,所以宇宙戰(zhàn)隊決定在比賽中,盡可能讓更多的隊員上場,且讓所有有得分的隊員得分都

    2024年02月09日
    瀏覽(34)
  • 華為OD機考算法題:數(shù)字加減游戲

    題目部分 解讀與分析 代碼實現(xiàn) 題目 數(shù)字加減游戲 難度 難 題目說明 小明在玩一個數(shù)字加減游戲,只使用加法或者減法,將一個數(shù)字 s 變成數(shù)字 t 。 每個回合,小明可以用當前的數(shù)字加上或減去一個數(shù)字。 現(xiàn)在有兩種數(shù)字可以用來加減,分別為 a, b (a≠b),其中 b 沒有使用

    2024年02月09日
    瀏覽(20)
  • 華為OD機考算法題:區(qū)塊鏈文件轉(zhuǎn)儲系統(tǒng)

    題目部分 解讀與分析 代碼實現(xiàn) 題目 區(qū)塊鏈文件轉(zhuǎn)儲系統(tǒng) 難度 難 題目說明 區(qū)塊鏈底層存儲是一個鏈式文件系統(tǒng),由順序的N個文件組成,每個文件的大小不一,依次為F1、F2……Fn。隨著時間的推移,所占存儲會越來越大。 云平臺考慮將區(qū)塊鏈按文件轉(zhuǎn)儲到廉價的SATA盤,只

    2024年02月08日
    瀏覽(32)
  • 華為OD機試題中 動態(tài)規(guī)劃和貪心算法例題

    在 ACM 比賽中,有許多常見的編程算法和數(shù)據(jù)結(jié)構(gòu)經(jīng)常被使用。本系列博客會羅列各種常見算法,以及其代表性例題。 這部分內(nèi)容可以用于類似華為 OD 機考學習。 動態(tài)規(guī)劃是一種將復雜問題分解為簡單子問題并使用子問題的解來構(gòu)建更大問題的方法。它通常用于解決最長公

    2024年01月16日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包