實現一種狗貓佇列的結構,要求如下:
使用者可以呼叫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 剛開啟時處於命令模式,此時任...