from collections import deque
t = int(input())
for _ in range(t):
n = int(input())
a = [int(i) for i in input().split()]
if len(set(a)) == 1 and a[0] == 0:
print("0\n")
continue
a = deque(a)
while a and a[-1] == 0:
a.pop()
while a and a[0] == 0:
a.popleft()
if 0 in a:
print("2\n")
else:
print("1\n")
#include <bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
long long int n;
cin>>n;
long long int flag = 0;
long long int count = 0;
for(int i=0; i<n; i++){
long long int p;
cin>>p;
if(flag == 0){
if(p == 0){
continue;
}else{
flag = 1;
}
}else{
if(p == 0){
count++;
flag = 0;
}else{
continue;
}
}
}
if(flag == 1){
count++;
}
if(count == 0){
cout<<count<<endl;
}else if(count == 1){
cout<<count<<endl;
}else{
cout<<2<<endl;
}
}
}
987B - High School Become Human | 1223A - CME |
1658B - Marin and Anti-coprime Permutation | 14B - Young Photographer |
143A - Help Vasilisa the Wise 2 | 320A - Magic Numbers |
1658A - Marin and Photoshoot | 514A - Chewbaсca and Number |
382A - Ksenia and Pan Scales | 734B - Anton and Digits |
1080A - Petya and Origami | 1642D - Repetitions Decoding |
1440A - Buy the String | 1658F - Juju and Binary String |
478A - Initial Bet | 981A - Antipalindrome |
365A - Good Number | 1204B - Mislove Has Lost an Array |
1409D - Decrease the Sum of Digits | 1476E - Pattern Matching |
1107A - Digits Sequence Dividing | 1348A - Phoenix and Balance |
1343B - Balanced Array | 1186A - Vus the Cossack and a Contest |
1494A - ABC String | 1606A - AB Balance |
1658C - Shinju and the Lost Permutation | 1547C - Pair Programming |
550A - Two Substrings | 797B - Odd sum |