c++ - 致命错误:使用未声明的标识符“ConstIter”
问题描述
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
vector<int> result;
if(nums.empty()){
cout<<"Array is empty"<<endl;
}else{
for(int i=0;i<nums.size();i++){
// for(int j=0;j<nums.size();j++){
// if(i!=j && nums[i]+nums[j]==target ){
// result = {i,j};
// }
int second=target-nums[i];
if(find(nums.begin(),nums.end(),second)!=nums.end() && nums[i]!=second){
int j;
j=distance(ConstIter(nums.begin()),second);
result={i,j};
}
}
}
return result;
}
};
基本上我想要变量 second 的索引并 降低运行时间复杂度,我不得不删除 leetcode 上的一个循环二和问题
解决方案
我猜你正在掌握的代码是这个
if (nums[i] != second) {
auto pos = find(nums.begin(), nums.end(), second);
if (pos != nums.end())
result = { i, pos - nums.begin() };
}
但是不要认为使用find
而不是你自己的循环会提高你的程序的效率。find
只是在内部使用一个循环,所以它应该是一样的。
推荐阅读
- android - jitsi 遇到 android sdk 配置问题
- angular - p-inputMask ng-model 未清除无效值
- c# - 部署到 iis 时,水晶报表通过 odbc postgres 驱动程序登录失败
- jquery - 砌体 - IE11 不使用 .load() 加载它
- java - Spring-Data-MongoDB:使用自定义转换器升级到 2.0.7 后无法从类型转换
- node.js - 每次检测到更改时更新绑定到 .ts 文件中函数的角度视图中的数据
- java - 在 JAVA 中初始化实例变量时
- java - Java:错误:java.lang.NullPointerException
- android - 无法使用变换 JetifyTransform 解决依赖关系?
- java - 如何更改日历对象的格式