在由N個正整數的集合S中,找出最大元素C,滿足C=A + B
阿新 • • 發佈:2019-02-14
其中A,B都是集合S中元素,請給出演算法描述,程式碼與時間複雜度分析.
int findNum(vector<int> &S) { sort(S.begin(), S.end()); int n = S.size(); for (int i = n-1; i >= 2; i--) { int left = 0; int right = i-1; while (left < right) { int temp = S[left] + S[right]; if (temp == S[i]) { return S[i]; } else if (temp < S[i]) { left++; } else { right--; } } } return -1; }