Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 786a49a

Browse files
Added C++ solution for 4 and 15 (#90)
* Create _461.cpp * refactor 461 * Create _15.cpp * Create _4.cpp * Update README.md added c++ solution for 4 and 15
1 parent 6787312 commit 786a49a

File tree

3 files changed

+60
-2
lines changed

3 files changed

+60
-2
lines changed

‎README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -969,7 +969,7 @@ _If you like this project, please leave me a star._ ★
969969
|18|[4 Sum](https://leetcode.com/problems/4sum/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_18.java)||Medium|Two Pointers
970970
|17|[Letter Combinations of a Phone Number](https://leetcode.com/problems/letter-combinations-of-a-phone-number/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_17.java)||Medium|Backtracking
971971
|16|[3Sum Closest](https://leetcode.com/problems/3sum-closest/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_16.java)||Medium|Two Pointers
972-
|15|[3Sum](https://leetcode.com/problems/3sum/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_15.java)|[:tv:](https://www.youtube.com/watch?v=jeim_j8VdiM)|Medium|Two Pointers, Binary Search
972+
|15|[3Sum](https://leetcode.com/problems/3sum/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_15.java), [C++](../master/cpp/_15.cpp)|[:tv:](https://www.youtube.com/watch?v=jeim_j8VdiM)|Medium|Two Pointers, Binary Search
973973
|14|[Longest Common Prefix](https://leetcode.com/problems/longest-common-prefix/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_14.java)| [:tv:](https://www.youtube.com/watch?v=K1ps6d7YCy4)| Easy
974974
|13|[Roman to Integer](https://leetcode.com/problems/roman-to-integer)|[Solution](../master/src/main/java/com/fishercoder/solutions/_13.java)| |Easy | Math, String
975975
|12|[Integer to Roman](https://leetcode.com/problems/integer-to-roman/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_12.java)||Medium| Math, String
@@ -980,7 +980,7 @@ _If you like this project, please leave me a star._ ★
980980
|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 |
981981
|6|[ZigZag Conversion](https://leetcode.com/problems/zigzag-conversion/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_6.java) | |Easy |
982982
|5|[Longest Palindromic Substring](https://leetcode.com/problems/longest-palindromic-substring/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_5.java) | |Medium|
983-
|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) | |Hard | Divide and Conquer
983+
|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
984984
|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
985985
|2|[Add Two Numbers](https://leetcode.com/problems/add-two-numbers/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_2.java) | |Medium | LinkedList
986986
|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

‎cpp/_15.cpp

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
class Solution {
2+
public:
3+
vector<vector<int>> threeSum(vector<int>& nums) {
4+
sort(nums.begin(),nums.end());
5+
6+
vector<vector<int>> v;
7+
8+
if(nums.size()<3){
9+
//if vector nums has less than 3 elements, impossible to distribute into 3 element set -> return 0.
10+
return v;
11+
}
12+
13+
for(int i=0;i<nums.size();i++){
14+
15+
if(i>0 and nums[i]==nums[i-1]){
16+
//same elements dont have to be taken.
17+
continue;
18+
}
19+
20+
int l = i+1, r = nums.size()-1;
21+
//Using 2-pointer concept
22+
while(l<r){
23+
int sum = nums[i] + nums[l] + nums[r];
24+
if(sum>0){
25+
r--;
26+
}else if(sum<0){
27+
l++;
28+
}else{
29+
v.push_back(vector<int> {nums[i],nums[l],nums[r]});
30+
while(l<r and nums[l]==nums[l+1]) l++;
31+
while(l<r and nums[r]==nums[r-1]) r--;
32+
l++; r--;
33+
}
34+
}
35+
36+
}
37+
38+
return v;
39+
}
40+
};

‎cpp/_4.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
class Solution {
2+
public:
3+
double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {
4+
//for adding second vector to last of first vector
5+
nums1.insert(nums1.end(),nums2.begin(),nums2.end());
6+
sort(nums1.begin(),nums1.end());
7+
8+
int size = nums1.size();
9+
float sum = nums1[size/2];
10+
11+
if(size%2==0){
12+
sum += nums1[(size/2)-1];
13+
sum/=2;
14+
}
15+
16+
return (float)(sum);
17+
}
18+
};

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /