[英]how do i print out in c++ and linux terminal
#include <iostream>
#include <vector>
#include <unordered_map>
using namespace std;
class twoSumClass{
public:
vector<int> twoSum(vector<int>& nums, int target){
vector<int> result;
unordered_map<int,int> hm;
for(int index = 0; index < nums.size(); index++){
int findVal = target - nums[index];
if(hm.count(findVal) > 0 && hm[findVal] != index){
result.push_back(index);
result.push_back(hm[findVal]);
return result;
}
else{
hm.insert(make_pair(nums[index], index));
}
}
return result;
}
};
void Print(vector<int>& v){
for (int i = 0; i < v.size(); i++){
cout << v[i] <<endl;
}
};
int main(){
vector<int> items = {1,2,3,4,5,6,7};
int trgt = 2;
twoSumClass myTest;
std::vector<int> res = myTest.twoSum(items, trgt);
Print(res);
return 0;
}
这是我的简单代码,我尝试在 linux 终端中运行此代码:g++ test1.cpp -o test1,然后运行:./test1 但是,终端不打印任何内容。 我如何更改代码? 顺便说一句,代码的目的与leetcode问题#1相加两个和类似。
int main() {
vector<int> items = {1,2,3,4,5,6,7};
int trgt = 2;
...
}
您想找出向量项中的2 个整数,它们的总和等于trgt 。
{1,2,3,4,5,6,7} 中没有答案。
所以没有打印是正确的答案。
建议您阅读本指南。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.