Skip to content

Commit 0c735c6

Browse files
authored
Revert "Renamed files and added 5 problems (#370)" (#398)
This reverts commit d838d01.
1 parent ec630b3 commit 0c735c6

35 files changed

+241
-224
lines changed

.DS_Store

-8 KB
Binary file not shown.

CPP/.DS_Store

-10 KB
Binary file not shown.

CPP/Problems/.DS_Store

-14 KB
Binary file not shown.

CPP/Problems/Leetcode-102-Binary-Tree-Level-Order-Traversal.cpp renamed to CPP/Problems/BinaryTreeLevelOrderTraversal.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
// https://leetcode.com/problems/binary-tree-level-order-traversal/
21
class Solution {
32
public:
43
vector<vector<int>> levelOrder(TreeNode* root) {

CPP/Problems/BitonicArray.cpp

Lines changed: 78 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,95 @@
1-
// Bitonic array is an array having strictly increasing order upto an element and then having strictly
2-
// decreasing order. It is also called Mountain array.
1+
// Bitonic array is an array having strictly increasing order upto an element and then having strictly
2+
// decreasing order. It is also called Mountain array.
33

4-
// Program to find element in a bitonic array
5-
// T.C.: O(log n)
6-
// S.C.: O(1)
7-
#include <iostream>
8-
#include <vector>
9-
using namespace std;
4+
// Program to find element in a bitonic array
5+
// T.C.: O(log n)
6+
// S.C.: O(1)
7+
#include <iostream>
8+
#include <vector>
9+
using namespace std;
1010

11-
int findPeakIndex (vector<int> vect, int size) { // find index of peak element
12-
int lo = 0, hi = size-1;
13-
int mid = lo + (hi - lo)/2;
11+
int findPeakIndex (vector<int> vect, int size) { // find index of peak element
12+
int lo = 0, hi = size-1;
13+
int mid = lo + (hi - lo)/2;
1414

15-
while (lo < hi) {
16-
if (mid == size-1 || vect[mid] > vect[mid+1]) {
17-
hi = mid;
15+
while (lo < hi) {
16+
if (mid == size-1 || vect[mid] > vect[mid+1]) {
17+
hi = mid;
18+
}
19+
else if (mid == 0 || vect[mid] > vect[mid-1]) {
20+
lo = mid+1;
21+
}
22+
mid = lo + (hi - lo)/2;
1823
}
19-
else if (mid == 0 || vect[mid] > vect[mid-1]) {
20-
lo = mid+1;
21-
}
22-
mid = lo + (hi - lo)/2;
24+
return lo;
2325
}
24-
return lo;
25-
}
2626

27-
int leftPart (vector<int> vect, int target, int hi) { // search element in left part
28-
int lo = 0;
29-
int mid = lo + (hi - lo)/2;
30-
while (lo <= hi) {
31-
if (vect[mid] == target) {
32-
return mid;
33-
}
34-
else if (vect[mid] > target) {
35-
hi = mid - 1;
27+
int leftPart (vector<int> vect, int target, int hi) { // search element in left part
28+
int lo = 0;
29+
int mid = lo + (hi - lo)/2;
30+
while (lo <= hi) {
31+
if (vect[mid] == target) {
32+
return mid;
33+
}
34+
else if (vect[mid] > target) {
35+
hi = mid - 1;
36+
}
37+
else {
38+
lo = mid + 1;
39+
}
40+
mid = lo + (hi - lo)/2;
3641
}
37-
else {
38-
lo = mid + 1;
39-
}
40-
mid = lo + (hi - lo)/2;
42+
return -1;
4143
}
42-
return -1;
43-
}
4444

45-
int rightPart (vector<int> vect, int target, int lo) { // search element in right part
46-
int hi = vect.size()-1;
47-
int mid = lo + (hi - lo)/2;
48-
while (lo <= hi) {
49-
if (vect[mid] == target) {
50-
return mid;
51-
}
52-
else if (vect[mid] < target) {
53-
hi = mid - 1;
45+
int rightPart (vector<int> vect, int target, int lo) { // search element in right part
46+
int hi = vect.size()-1;
47+
int mid = lo + (hi - lo)/2;
48+
while (lo <= hi) {
49+
if (vect[mid] == target) {
50+
return mid;
51+
}
52+
else if (vect[mid] < target) {
53+
hi = mid - 1;
54+
}
55+
else {
56+
lo = mid + 1;
57+
}
58+
mid = lo + (hi - lo)/2;
5459
}
55-
else {
56-
lo = mid + 1;
57-
}
58-
mid = lo + (hi - lo)/2;
60+
return -1;
5961
}
60-
return -1;
61-
}
6262

63-
int findElement(vector<int> vect, int size, int target) {
64-
// DRIVER CODE
65-
// find peak of array
66-
int peak = findPeakIndex (vect, size);
67-
// compare peak element with target
68-
if (target > vect[peak]) {return -1;}
69-
else if (target == vect[peak]) {return peak;}
70-
// find element in increasing/decreasing sequence
71-
else {
72-
int leftIndex = leftPart(vect, target, peak);
73-
if (leftIndex != -1) {
74-
return leftIndex;
75-
}
63+
int findElement(vector<int> vect, int size, int target) {
64+
// DRIVER CODE
65+
// find peak of array
66+
int peak = findPeakIndex (vect, size);
67+
// compare peak element with target
68+
if (target > vect[peak]) {return -1;}
69+
else if (target == vect[peak]) {return peak;}
70+
// find element in increasing/decreasing sequence
7671
else {
77-
return rightPart(vect, target, peak);
72+
int leftIndex = leftPart(vect, target, peak);
73+
if (leftIndex != -1) {
74+
return leftIndex;
75+
}
76+
else {
77+
return rightPart(vect, target, peak);
78+
}
7879
}
80+
return 0;
7981
}
80-
return 0;
81-
}
8282

83-
int main () {
84-
vector<int> numvect;
85-
int num, target;
86-
cin>>num;
87-
cin>>target;
88-
for (int i = 0; i < num; i++) {
89-
int temp;
90-
cin>>temp;
91-
numvect.push_back(temp);
83+
int main () {
84+
vector<int> numvect;
85+
int num, target;
86+
cin>>num;
87+
cin>>target;
88+
for (int i = 0; i < num; i++) {
89+
int temp;
90+
cin>>temp;
91+
numvect.push_back(temp);
92+
}
93+
cout<<findElement(numvect, num, target);
94+
return 0;
9295
}
93-
cout<<findElement(numvect, num, target);
94-
return 0;
95-
}

CPP/Problems/Leetcode-11-Container-With-Most-Water.cpp renamed to CPP/Problems/Container With Most Water.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
// https://leetcode.com/problems/container-with-most-water/
21
class Solution {
32
public:
43
int maxArea(vector<int>& height) {

CPP/Problems/Leetcode-740-Delete-And-Earn.cpp renamed to CPP/Problems/Delete_and_Earn.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
// Question Link
12
// https://leetcode.com/problems/delete-and-earn/
3+
// ----------------------------------------------
24
class Solution {
35
public:
46
int deleteAndEarn(vector<int>& nums) {
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
class Solution {
2+
public:
3+
vector<int> searchRange(vector<int>& nums, int target) {
4+
vector<int>ans;
5+
auto low=lower_bound(nums.begin(),nums.end(),target);
6+
auto upp=upper_bound(nums.begin(),nums.end(),target);
7+
if(low==nums.end()|| *low!=target )
8+
{
9+
ans.push_back(-1);
10+
ans.push_back(-1);
11+
}
12+
else
13+
{
14+
int start=low-nums.begin();
15+
int end=upp-nums.begin()-1;
16+
ans.push_back(start);
17+
ans.push_back(end);
18+
}
19+
return ans;
20+
}
21+
};

CPP/Problems/Leetcode-1346-Check-If-N-and-Its-Double-Exist.cpp

Lines changed: 0 additions & 15 deletions
This file was deleted.

CPP/Problems/Leetcode-1351-Count-Negative-Numbers-in-a-Sorted-Matrix.cpp

Lines changed: 0 additions & 17 deletions
This file was deleted.

CPP/Problems/Leetcode-1572-Matrix-Diagonal-Sum.cpp

Lines changed: 0 additions & 23 deletions
This file was deleted.

CPP/Problems/Leetcode-231-Power-of-Two.cpp

Lines changed: 0 additions & 7 deletions
This file was deleted.

CPP/Problems/Leetcode-287-Find-the-Duplicate-Number.cpp

Lines changed: 0 additions & 30 deletions
This file was deleted.
Lines changed: 29 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,36 @@
1-
// https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/
21
class Solution {
32
public:
43
vector<int> searchRange(vector<int>& nums, int target) {
5-
vector<int>ans;
6-
auto low=lower_bound(nums.begin(),nums.end(),target);
7-
auto upp=upper_bound(nums.begin(),nums.end(),target);
8-
if(low==nums.end()|| *low!=target )
9-
{
10-
ans.push_back(-1);
11-
ans.push_back(-1);
4+
int n=nums.size();
5+
int l=0,r=n-1;
6+
int p1=-1,p2=-1;
7+
while(l<=r){
8+
int mid=l+(r-l)/2;
9+
if(nums[mid]==target){
10+
p1=mid;
11+
r=mid-1;
12+
}
13+
else if(nums[mid]>target){
14+
r=mid-1;
15+
}
16+
else
17+
l=mid+1;
1218
}
13-
else
14-
{
15-
int start=low-nums.begin();
16-
int end=upp-nums.begin()-1;
17-
ans.push_back(start);
18-
ans.push_back(end);
19+
l=0,r=n-1;
20+
while(l<=r){
21+
int mid=l+(r-l)/2;
22+
if(nums[mid]>=target+1){
23+
r=mid-1;
24+
}
25+
else{
26+
27+
l=mid+1;
28+
}
29+
1930
}
20-
return ans;
31+
p2=l;
32+
if(p1!=-1)
33+
return {p1,p2-1};
34+
return {-1,-1};
2135
}
2236
};

CPP/Problems/Leetcode-43-Multiply-Strings.cpp

Lines changed: 0 additions & 8 deletions
This file was deleted.

CPP/Problems/Leetcode-7-Reverse-Integer.cpp

Lines changed: 0 additions & 15 deletions
This file was deleted.

CPP/Problems/Leetcode-674-Longest-Continuous-Increasing-Subsequence-Easy.cpp renamed to CPP/Problems/Longest-Continuous-Increasing-Subsequence-Easy.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
// https://leetcode.com/problems/longest-continuous-increasing-subsequence/
21
class Solution {
32
public:
43
int findLengthOfLCIS(vector<int>& nums) {

0 commit comments

Comments
 (0)