左神初級班 (二)

2021-09-19 20:19:45 字數 2248 閱讀 2660

實現一種狗貓佇列的結構,要求如下:

使用者可以呼叫add方法將cat類或dog類的例項放入佇列中;

使用者可以呼叫pollall方法,將佇列中所有的例項按照進佇列的先後順序依次彈出;

使用者可以呼叫polldog方法,將佇列中dog類的例項按照進佇列的先後順序依次彈出;

使用者可以呼叫pollcat方法,將佇列中cat類的例項按照進佇列的先後順序依次彈出;

使用者可以呼叫isempty方法,檢查佇列中是否還有dog或cat的例項;

使用者可以呼叫isdogempty方法,檢查佇列中是否有dog類的例項;

使用者可以呼叫iscatempty方法,檢查佇列中是否有cat類的例項。

自己的思路:

用三個佇列,分別儲存cat、dog和全體。去聽一下左神有什麼好辦法。

左神的思路:

左神做了乙個結構體,結構體裡面儲存寵物的型別和寵物進入佇列的順序編號。這樣,用兩個佇列就可以滿足情況了。(我的想法被否定了)

實現**寫出來了,賊開心~

不要把思路限制在區域性,跟著遍歷的方向去移動。

我們記錄左上角的點和右下角的點,這裡記左上角為(a,b),右下角為(c,d)。

如果只是列印上面的矩形的邊,還是很容易的。

如果b和d在同一行,那就是

如果a和c相同,則

列印邊的方式,可以通過while迴圈來實現,四個while迴圈分別繪製的圖形如圖:

實現了乙個能夠列印矩形框的函式之後,然後我們可以呼叫他打出整個的矩陣,呼叫思路如圖:

解題時,要有乙個巨集觀的感覺。不要把思路侷限在問題怎麼變上。

判斷括號中字串是否有效果

返回資料流中第k大元素

滑動視窗中的最大值(leetcode)

牛客初級班 矩陣

此類問題一般是矩陣的花式列印,只要注意不要糾結於位置的變化,巨集觀思考就可以得出簡潔的 這個問題不要想著索引怎麼變化。比如列印最外圈一行 到 最右面的列結束,列印最外圈一列到最下面的行結束 所以說只要記錄左上角和右下角兩個點就能控制列印一圈矩陣,不用考慮變化問題了 特殊情況要考慮只有一行和一列的情況...

左神演算法初級班筆記6 字首樹 貪心

arr2中有哪些字元,是作為arr1中某個字串字首出現的?請 列印 arr2中有哪些字元,是作為arr1中某個字串字首出現的?請列印 arr2 現次數最大的字首。不要企圖證明貪心的正確性,想幾個貪心策略之後,用對數器去證明正確的即可。1.按最低字典序拼接字串給定乙個字串型別的陣列strs,找到一種拼...

Vim 編輯器 初級班

本文約定 vim 表示在 shell 下輸入 vim 大寫字母如 a 表示鍵入shift a g 表示 ctrl g x 表示在命令模式鍵入 冒號 與x 普通命令如 i 都是在命令模式鍵入直接響應 幫助 help 幫助我還不大會使用,以後補上 命令模式與插入模式 vim 剛開啟時處於命令模式,此時任...