classSolution{public:intmyAtoi(string str){
size_t size = str.size();int flag =0;int i =0;while(i < size){if(str[i]==' ')++i;elseif(str[i]=='+'|| str[i]=='-'||('0'<= str[i]&& str[i]<='9'))break;elsereturn0;}if(str[i]=='-'){
flag =1;++i;}elseif(str[i]=='+')++i;longlong num =0;int s =0;for(; i < size;++i){if('0'<= str[i]&& str[i]<='9'){
s = str[i]-'0';if((num *10)+ s > INT_MAX && flag ==0)return INT_MAX;elseif((num *10)+ s > INT_MAX && flag ==1)return INT_MIN;else
num =(num *10)+ s;}elsebreak;}if(flag ==1)return-num;return num;}};
classSolution{public:
vector<int>searchRange(vector<int>& nums,int target){
vector<int> vec{-1,-1};
size_t size = nums.size();int L =0;int R = size -1;int middle;int flag =0;while(L <= R){
middle =(R + L)/2;if(target > nums[middle])
L = middle +1;elseif(target < nums[middle])
R = middle -1;else{
flag =1;break;}}if(flag ==1){int i = middle;int j = middle;while( i -1>=0&& nums[i -1]== nums[middle]){--i;}while(j +1< size && nums[j +1]== nums[middle]){++j;}
vec[0]= i;
vec[1]= j;}return vec;}};