/// Source : https://leetcode.com/problems/two-sum/description/
/// Author : liuyubobobo
/// Time : 2017-11-15
#include
#include
using namespace std;
/// Brute Force
/// Time Complexity: O(n^2)
/// Space Complexity: O(1)
class Solution {
public:
vector twoSum(vector& nums, int target) {
for(int i = 0 ; i < nums.size() ; i ++)
for(int j = i + 1 ; j < nums.size() ; j ++)
if(nums[i] + nums[j] == target){
int res[] = {i, j};
return vector(res, res + 2);
}
throw invalid_argument("the input has no solution");
}
};
void printVec(const vector& vec){
for(int e: vec)
cout << e << " ";
cout << endl;
}
int main() {
const int nums[] = {0,4,3,0};
vector nums_vec( nums, nums + sizeof(nums)/sizeof(int) );
int target = 0;
printVec(Solution().twoSum(nums_vec, target));
return 0;
}