程序员代码面试指南:暴力 最长的可整合子数组的长度
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 int n; 6 scanf("%d", &n); 7 8 vector<int> vec(n); 9 for (int i = 0; i < n; i++)scanf("%d", &vec[i]); 10 unordered_set<int> s; 11 12 int res = 1; 13 for (int i = 0; i < n; i++) 14 { 15 int min = INT_MAX, max = INT_MIN; 16 for (int j = i; j < n; j++) 17 { 18 if (s.find(vec[j]) != s.end())break; 19 s.insert(vec[j]); 20 if (vec[j] < min)min = vec[j]; 21 if (vec[j] > max)max = vec[j]; 22 if (max - min == j - i)res = res < j - i + 1 ? j - i + 1 : res; 23 } 24 s.clear(); 25 } 26 printf("%d", res); 27 }