Skip to content

Commit 2407416

Browse files
Merge pull request #586 from swarup-0508/main
Array Questions Contributed in C++
2 parents 719d0fe + b785cd0 commit 2407416

7 files changed

+158
-0
lines changed
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
class Solution {
2+
public:
3+
bool checkIfExist(vector<int>& arr) {
4+
map<double,int> map;
5+
for(int i = 0;i<arr.size();i++)
6+
{
7+
if(map.count((double)arr[i]*2) || (map.count((double)arr[i]/2)))
8+
{
9+
return true;
10+
}
11+
map[arr[i]]++;
12+
13+
}
14+
return false;
15+
}
16+
};

CPP/arrays/DuplicateZeroes.cpp

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
class Solution {
2+
public:
3+
4+
void insert(vector<int>& arr,int i,int j)
5+
{
6+
if(j<arr.size())
7+
arr[j] = arr[i];
8+
}
9+
void duplicateZeros(vector<int>& arr) {
10+
int zeroes=0;
11+
for(int i : arr)
12+
{
13+
if(i==0)
14+
zeroes++;
15+
}
16+
17+
int i = arr.size()-1, j = arr.size()+zeroes-1;
18+
while(i!=j)
19+
{
20+
insert(arr,i,j--);
21+
if(arr[i]==0)
22+
{
23+
insert(arr,i,j--);
24+
}
25+
i--;
26+
}
27+
}

CPP/arrays/MergedSortedArray.cpp

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
class Solution {
2+
public:
3+
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
4+
5+
int i = m-1;
6+
int j = n-1;
7+
int k = m+n-1;
8+
while(i>=0 && j>=0)
9+
{
10+
if(nums1[i]>nums2[j])
11+
{
12+
nums1[k--]=nums1[i--];
13+
}
14+
else
15+
{
16+
nums1[k--]=nums2[j--];
17+
}
18+
}
19+
while(i>=0)
20+
{
21+
nums1[k--]=nums1[i--];
22+
}
23+
while(j>=0)
24+
{
25+
nums1[k--]=nums2[j--];
26+
}
27+
}
28+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
class Solution {
2+
public:
3+
int removeDuplicates(vector<int>& nums) {
4+
vector<int> v;
5+
vector<int> :: iterator it;
6+
7+
for(it = nums.begin();it!=nums.end();it++)
8+
{
9+
int ele = *it;
10+
if(find(v.begin(),v.end(),ele)!=v.end())
11+
{
12+
nums.erase(it);
13+
it--;
14+
}
15+
else
16+
v.push_back(*it);
17+
18+
}
19+
return nums.size();
20+
}
21+
};

CPP/arrays/RemoveElement.cpp

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
class Solution {
2+
public:
3+
int removeElement(vector<int>& nums, int val) {
4+
vector<int> :: iterator it;
5+
it = nums.begin();
6+
for(int i=0;i<nums.size();i++)
7+
{
8+
if(nums[i]==val)
9+
{
10+
nums.erase(it);
11+
it--;
12+
i--;
13+
}
14+
it++;
15+
}
16+
return nums.size();
17+
}
18+
};

CPP/arrays/SortArraybyParity.cpp

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
class Solution {
2+
public:
3+
vector<int> sortArrayByParity(vector<int>& nums) {
4+
int n = nums.size();
5+
if(n==0 || n==1)
6+
{return nums;}
7+
8+
int i = 0,j=0;
9+
while(i<n)
10+
{
11+
if(nums[i]%2!=0)
12+
{
13+
++i;
14+
}
15+
else
16+
{
17+
swap(nums[i],nums[j]);
18+
i++;
19+
j++;
20+
}
21+
}
22+
return nums;
23+
}
24+
};

CPP/arrays/ValidMountainArray.cpp

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
class Solution {
2+
public:
3+
bool validMountainArray(vector<int>& arr) {
4+
if(arr.size()<3) return false;
5+
6+
int i = 0;
7+
for(;i<arr.size()-1;i++)
8+
{
9+
if(arr[i]>arr[i+1])
10+
{ i++;
11+
break;
12+
}
13+
else if(arr[i]==arr[i+1]) return false;
14+
}
15+
if(i<2) return false;
16+
for(;i<arr.size();i++)
17+
{
18+
if(arr[i-1]<=arr[i])
19+
return false;
20+
}
21+
return true;
22+
}
23+
24+
};

0 commit comments

Comments
 (0)