原題鏈結
題意:一段長n的序列,由0/1組成。可把m個0改1,求序列中最大連續1的個數。
思路:尺取法(雙指標法)
設定一對指標l, r。最開始都指向第乙個元素。
l,r是區間左右端點,r指標先不斷往右遍歷,
當區間內0的個數超過m時,l指標向右遍歷,要跳過乙個0,(維持乙個區間內改了m個0的狀態)
其間不斷用區間大小更新ans最大值
class
solution
ans=
max(ans,r-l+1)
;}return ans;}}
;
牛牛的字元反轉
原題鏈結
題目說明說得很清楚了
主要是特例要搞清楚
字串長度n和迴圈右移次數k=k%n(移動n等於沒移)
n=1或k=0 最少反轉次數為0
n=2,k=1 最少反轉次數為1
n=3,k=1 ||n=3,k=2 最少反轉次數為2
k=1||k=2 最少反轉次數為2(主要是k=2難想)
如12345 k=2時 =>45123
先反轉[1,4]=>43215 再反轉[2,5]=>45123
class
solution
};
牛牛的木板
題意 牛牛從牛畢那裡拿了一根長度為n的白木板,木板被等分成了n段 沒有被切割,只是虛擬劃分成了n段 其中有些段被牛畢用顏料染成了黑色。牛牛非常不喜歡黑色,它找來了一桶清洗劑決定對木板進行清洗,但是牛牛發現自己的清洗劑最多只能清洗m段。清洗完後,牛牛會把木板鋸成純色的幾段。例如假設木板是 黑黑黑白白白...
迷路的牛牛
牛牛去犇犇老師家補課,出門的時候面向北方,但是現在他迷路了。雖然他手裡有一張地圖,但是他需要知道自己面向哪個方向,請你幫幫他。輸入描述 每個輸入包含乙個測試用例。每個測試用例的第一行包含乙個正整數,表示轉方向的次數n n 1000 接下來的一行包含乙個長度為n的字串,由l和r組成,l表示向左轉,r表...
牛牛的鬧鐘
牛牛總是睡過頭,所以他定了很多鬧鐘,只有在鬧鐘響的時候他才會醒過來並且決定起不起床。從他起床算起他需要x分鐘到達教室,上課時間為當天的a時b分,請問他最晚可以什麼時間起床 輸入描述 每個輸入包含乙個測試用例。每個測試用例的第一行包含乙個正整數,表示鬧鐘的數量n n 100 接下來的n行每行包含兩個整...