給一個二進位串列,回傳 0 與 1 數量相等的連續子陣列的最長長度。
這次補寫 C# 版的 code。
C#
public class Solution { public int FindMaxLength(int[] nums) { int result = 0; int counter0 = 0; var dp = new Dictionary(); dp.Add(0,-1); for(int i = 0; i < nums.Length; i++) { counter0 += nums[i] == 0 ? 1 : -1; if(dp.ContainsKey(counter0)) result = Math.Max(result, i - dp[counter0]); else dp[counter0] = i; } return result; } }