int maxLength(vector<int>& arr) { int size = arr.size(); int check[1000000] = { 0 }; int left = 0; int right = 0; int max = 1; for (left = 0; left < size; left++) { memset(check, 0, sizeof(check)); check[arr[left]] = 1; right = left + 1; while (right < size) { if (check[arr[right]] == 0) { int len = right - left + 1; max = max > len ? max : len; check[arr[right]] = 1; } else { break; } right++; } } //cout << max << endl; return max; }
原文:https://www.cnblogs.com/weiyouqing/p/14634937.html