当做题时,有时候需要快速的判断某值是否在数组中,下面提供C++中的find()源代码:
#include <algorithm>
template<class InputIterator, class T>
InputIterator find (InputIterator first, InputIterator last, const T&val)
{
while (first != last)
{
if (*first == val)
{
return first;
}
}
return last;
}
也就是如果找到,就返回下标,找不到,就返回长度
path中不包含nums[i]:find(path.begin(), path.end(), nums[i]) == path.end()
如果nums[i]在path中,就不运行下面的:
if(find(path.begin(), path.end(), nums[i]) != path.end()){
continue;
}