[問題] 最長的連續假期

看板Prob_Solve (計算數學 Problem Solving)作者 (我是新手)時間5年前 (2018/11/19 04:44), 編輯推噓3(303)
留言6則, 3人參與, 5年前最新討論串1/1
Q: 給定一個 bool array,0代表放假日,1代表要上班 以及給一個年假天數 v,試求出請了 v 天假後,最長的連續假期天數為何 Example: Input: {1, 0, 0, 1, 1, 0, 0, 1, 1} ; v=2 Output: 6,請了 2 天假之後 (把 1 標成 0), 陣列會變成 {1, 0, 0, 0, 0, 0, 0, 1, 1},有 6 個連續的 0。 Input: {0, 1, 1, 0, 1, 0, 1, 1, 1, 0} ; v=3 Output: 6,把前 3 個 1 標成 0, 陣列會變成 {0, 0, 0, 0, 0, 0, 1, 1, 1, 0},有 6 個連續的 0。 感謝各位大神 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 79.66.218.42 ※ 文章網址: https://www.ptt.cc/bbs/Prob_Solve/M.1542573847.A.D87.html

11/19 17:03, 5年前 , 1F
相當於求 連續和為v的最長陣列 對吧!?
11/19 17:03, 1F

11/19 17:03, 5年前 , 2F
簡單用個two pointer就行了吧
11/19 17:03, 2F

11/19 17:05, 5年前 , 3F
如果目前連續和比v小就head往前走
11/19 17:05, 3F

11/19 17:05, 5年前 , 4F
如果連續和超過v就tail往前y
11/19 17:05, 4F

11/19 19:21, 5年前 , 5F
推樓上 s 大,超過 v 時,tail往前直到遇到 1 為止
11/19 19:21, 5F

12/03 14:39, 5年前 , 6F
每個起點二分搜
12/03 14:39, 6F
文章代碼(AID): #1RySyNs7 (Prob_Solve)
文章代碼(AID): #1RySyNs7 (Prob_Solve)