Skip to content

Add C++ Solutions #92

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Jul 19, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -977,11 +977,11 @@ _If you like this project, please leave me a star._ ★
|10|[Regular Expression Matching](https://leetcode.com/problems/regular-expression-matching/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_10.java)||Hard|DP
|9|[Palindrome Number](https://leetcode.com/problems/palindrome-number/)|[Java](../master/src/main/java/com/fishercoder/solutions/_9.java), [C++](../master/cpp/_9.cpp)| | Easy
|8|[String to Integer (atoi)](https://leetcode.com/problems/string-to-integer-atoi/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_8.java)| |Medium
|7|[Reverse Integer](https://leetcode.com/problems/reverse-integer/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_7.java) | [:tv:](https://youtu.be/tm1Yrb_SfBM) |Easy |
|7|[Reverse Integer](https://leetcode.com/problems/reverse-integer/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_7.java), [C++](../master/cpp/_7.cpp) | [:tv:](https://youtu.be/tm1Yrb_SfBM) |Easy |
|6|[ZigZag Conversion](https://leetcode.com/problems/zigzag-conversion/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_6.java) | |Easy |
|5|[Longest Palindromic Substring](https://leetcode.com/problems/longest-palindromic-substring/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_5.java) | |Medium|
|4|[Median of Two Sorted Arrays](https://leetcode.com/problems/median-of-two-sorted-arrays/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_4.java), [C++](../master/cpp/_4.cpp) | |Hard | Divide and Conquer
|3|[Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_3.java) | |Medium | HashMap, Sliding Window
|3|[Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_3.java), [C++](../master/cpp/_3.cpp) | |Medium | HashMap, Sliding Window
|2|[Add Two Numbers](https://leetcode.com/problems/add-two-numbers/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_2.java) | |Medium | LinkedList
|1|[Two Sum](https://leetcode.com/problems/two-sum/)|[Java](../master/src/main/java/com/fishercoder/solutions/_1.java), [C++](../master/cpp/_1.cpp), [Javascript](../master/javascript/_1.js)|[:tv:](https://www.youtube.com/watch?v=kPXOr6pW8KM&t=)|Easy| HashMap

Expand Down
61 changes: 61 additions & 0 deletions cpp/_3.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
//Solution 1: Using Array Frequency Method

class Solution {
public:
int lengthOfLongestSubstring(string s) {

if(s.find_first_not_of(' ') != string::npos){
// There's a non-space && visit array ~ 127 ascii chars.
int visit[150];
memset(visit,0,sizeof(visit));

int mx=0,x=0;
for(int i=0;i<s.size();i++){
if(visit[s[i]]==0){
visit[s[i]]++;
x++;
}else{
mx = max(mx,x);
//back to (i-x) index for relooping from the double occurance
if(x>0) i-=x;
x=0;
memset(visit,0,sizeof(visit));
}
}
mx = max(x,mx);
return mx;
}else{
// There's a only white-spaces.
if(s.size()>0) return 1;
else return 0;
}

}
};

//Solutio 2: Using Map Method (High Memory and Time)

class Solution {
public:
int lengthOfLongestSubstring(string s) {

unordered_map <char,int> ump;

int mx=0,x=0;
for(int i=0;i<s.size();i++){
if(ump[s[i]]==0){
ump[s[i]]++;
x++;
}else{
mx = max(mx,x);
//back to (i-x) index for relooping from the double occurance
if(x>0) i-=x;
x=0;
ump.clear();
}
}
mx = max(x,mx);
return mx;

}
};
41 changes: 41 additions & 0 deletions cpp/_7.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
//Faster than 100% submissions

class Solution {
public:
int reverse(int x) {

long int res = 0;

bool isMinus = false;
//To add the minus sign if any negative number
if(x<0){
isMinus = true;
}

//convert into positive number
x = abs(x);

//Function to reverse number
while(x>0){
int last = x%10;
res = res*10 + last;
x/=10;
}

//Adding minus sign in the result
if(isMinus){
res *= -1;
}
//Range of int
int mn = -2147483648, mx = 2147483647;

//Checking if is in range of int
if(res > mn and res < mx){
res = res;
}else{
res = 0;
}

return res;
}
};