Last active
May 13, 2018 08:40
-
-
Save tratitude/f3da8327b11eb78ef80eb9942b5abfee to your computer and use it in GitHub Desktop.
Approach #1 (Brute Force)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
test input: | |
[2,7,11,15] | |
9 | |
------------ | |
output: | |
[0, 1] | |
------------ | |
*/ | |
class Solution { | |
public: | |
vector<int> twoSum(vector<int>& nums, int target) { | |
int i,j; | |
for(i=0; i<nums.size(); i++){ | |
for(j=0; j<nums.size(); j++){ | |
if(nums[i]+nums[j]==target && i!=j){ | |
vector<int> ans; | |
ans.push_back(i); | |
ans.push_back(j); | |
return ans; | |
} | |
} | |
} | |
} | |
}; | |
void trimLeftTrailingSpaces(string &input) { | |
input.erase(input.begin(), find_if(input.begin(), input.end(), [](int ch) { | |
return !isspace(ch); | |
})); | |
} | |
void trimRightTrailingSpaces(string &input) { | |
input.erase(find_if(input.rbegin(), input.rend(), [](int ch) { | |
return !isspace(ch); | |
}).base(), input.end()); | |
} | |
vector<int> stringToIntegerVector(string input) { | |
vector<int> output; | |
/*trimLeftTrailingSpaces(input); | |
trimRightTrailingSpaces(input); | |
input = input.substr(1, input.length() - 2); | |
stringstream ss; | |
ss.str(input); | |
string item; | |
char delim = ','; | |
while (getline(ss, item, delim)) { | |
output.push_back(stoi(item)); | |
}*/ | |
istringstream ss(input); | |
int item; | |
char c; | |
while(ss >> c >> item){ | |
output.push_back(item); | |
} | |
return output; | |
} | |
int stringToInteger(string input) { | |
return stoi(input); | |
} | |
string integerVectorToString(vector<int> list, int length = -1) { | |
if (length == -1) { | |
length = list.size(); | |
} | |
if (length == 0) { | |
return "[]"; | |
} | |
string result; | |
for(int index = 0; index < length; index++) { | |
int number = list[index]; | |
result += to_string(number) + ", "; | |
} | |
return "[" + result.substr(0, result.length() - 2) + "]"; | |
} | |
int main() { | |
string line; | |
while (getline(cin, line)) { | |
vector<int> nums = stringToIntegerVector(line); | |
getline(cin, line); | |
int target = stringToInteger(line); | |
vector<int> ret = Solution().twoSum(nums, target); | |
string out = integerVectorToString(ret); | |
cout << out << endl; | |
} | |
return 0; | |
} |
Author
tratitude
commented
May 13, 2018
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment