①c++完整代码 采用find函数:
#include #include#include using namespace std; class Solution { public: int search(vector & nums, int target) { vector ::iterator index_iterator=find(nums.begin(),nums.end(),target); //find返回的是迭代器,如果没找到,返回的是nums.end(),即最后一个元素的下一个地址 int index=index_iterator-nums.begin(); //vevtor 是size() if(index>=nums.size()) cout<<-1; else cout< sz;int n;int t;int i; cin>>n; while(n--) { cin>>i; sz.push_back(i); } cin>>t; Solution y; y.search(sz,t); }
②采用二分查找
#include #include#include using namespace std; class Solution { public: int search(vector & nums, int target) { int left=0;int right=nums.size()-1; while(left<=right) { int mid=(left+right)/2; if(nums[mid]==target) return mid; else if (nums[mid]>target) right=mid-1; else left=mid+1; } return -1; } }; int main(){ vector sz;int n;int t;int i; cin>>n; while(n--) { cin>>i; sz.push_back(i); } cin>>t; Solution y; int result=y.search(sz,t); cout<



