diff --git a/LeetCode/atoi.cpp b/LeetCode/atoi.cpp new file mode 100644 index 0000000..8e375fd --- /dev/null +++ b/LeetCode/atoi.cpp @@ -0,0 +1,45 @@ +// https://leetcode.com/problems/string-to-integer-atoi/ +#include +using namespace std; +int myAtoi(string s){ + if(s=="")return 0; + long int ans=0; + int sign=1; + bool intFound=false; + bool signFound=false; + for(int i=0;i=0 && s[i]-'0'<=9){ + intFound=true; + ans=ans*10; + if(ans>=INT_MAX)return (sign==-1)?INT_MIN:INT_MAX; + ans+=(s[i]-'0'); + // if(ans==2147483647 && sign==-1)return -2147483647; + if(ans==INT_MAX && sign==-1)return -1*INT_MAX; + if(ans>=INT_MAX)return (sign==-1)?INT_MIN:INT_MAX; + + + } + else if(s[i]-'0'<0 || s[i]-'0'>9){ + break; + } + } + return sign*ans; +} +int main(){ + cout< +using namespace std; +vector> generateMatrix(int n) { + vector>ans; + for(int i=0;itemp(n, 0); + ans.push_back(temp); + } + int num=1; + int ci=0, cf=n-1, ri=0, rf=n-1; + while(num!=(n*n)+1){ + for(int i=ci;i<=cf;i++) + ans[ri][i]=num++; + if(num==(n*n)+1)break; + ri++; + for(int i=ri;i<=rf;i++)ans[i][cf]=num++; + if(num==(n*n)+1)break; + cf--; + for(int i=cf;i>=ci;i--)ans[rf][i]=num++; + if(num==(n*n)+1)break; + rf--; + for(int i=rf;i>=ri;i--)ans[i][ci]=num++; + if(num==(n*n)+1)break; + ci++; + } + return ans; +} +int main() +{ + vector>arr=generateMatrix(3); + cout<<"done"; + return 0; +} \ No newline at end of file