int flipBits(int* arr, int n) { int count = 0; for(int i = 0; i<n; i++){ if(arr[i] == 1){ count++; } } int sum = 0; int max = 0; for(int i = 0; i<n; i++){ if(arr[i] == 0){ sum++; }else{ sum--; } if(sum < 0){ sum = 0; } if(sum > max){ max = sum; } } return count + max; }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter