leetcode1052

1  クラスのソリューション:
 2      DEF maxSatisfied(自己、顧客:' リスト[INT] '、気難しい:' 一覧の[int] '、X:INT) - > INT 3          N = LEN(顧客)
 4          プリサム= 0 
5          J = 0 
6          のための I における範囲(N):
 7              場合気難しい[I] == 0 8                  プリサム+ = 顧客[i]は
 9                  J = + 1 
10             ELIFのJ < X:
 11                  プリサム+ = 顧客[i]が
 12                  J + = 1 
13  
14          maxsati = プリサム
 15          のための I における範囲(0、N- X):
 16              なら気難しい[I] == 1 17                  プリサム- = 顧客[i]が
 18              あれば不機嫌は[iが+ X] == 1 19                  プリサムは+ =顧客[I + X]
 20              maxsati = MAX(プリサム、maxsati)
 21  
22         返す maxsati

このアイデアは、私は穏やかな状態で全てを想定し、Xをし+ I間隔中に、ゲストの満足度が加算され、スライディングウィンドウの問題です。

ウィンドウは、その後、元の状態に応じて、離れて窓の左端、右端の新しいアクセスウィンドウから、右にスライドさせて加算または減算することが決定されます。

特定決意ロジックコードの15〜20行。

おすすめ

転載: www.cnblogs.com/asenyang/p/10926422.html