Skip to content

Commit d838d01

Browse files
authored
Renamed files and added 5 problems (#370)
1 parent 6b2090e commit d838d01

35 files changed

+224
-241
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/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;
18-
}
19-
else if (mid == 0 || vect[mid] > vect[mid-1]) {
20-
lo = mid+1;
21-
}
22-
mid = lo + (hi - lo)/2;
15+
while (lo < hi) {
16+
if (mid == size-1 || vect[mid] > vect[mid+1]) {
17+
hi = mid;
2318
}
24-
return lo;
19+
else if (mid == 0 || vect[mid] > vect[mid-1]) {
20+
lo = mid+1;
21+
}
22+
mid = lo + (hi - lo)/2;
2523
}
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;
36-
}
37-
else {
38-
lo = mid + 1;
39-
}
40-
mid = lo + (hi - lo)/2;
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;
4136
}
42-
return -1;
37+
else {
38+
lo = mid + 1;
39+
}
40+
mid = lo + (hi - lo)/2;
4341
}
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;
54-
}
55-
else {
56-
lo = mid + 1;
57-
}
58-
mid = lo + (hi - lo)/2;
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;
5954
}
60-
return -1;
55+
else {
56+
lo = mid + 1;
57+
}
58+
mid = lo + (hi - lo)/2;
6159
}
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
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+
}
7176
else {
72-
int leftIndex = leftPart(vect, target, peak);
73-
if (leftIndex != -1) {
74-
return leftIndex;
75-
}
76-
else {
77-
return rightPart(vect, target, peak);
78-
}
77+
return rightPart(vect, target, peak);
7978
}
80-
return 0;
8179
}
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);
92-
}
93-
cout<<findElement(numvect, num, target);
94-
return 0;
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);
9592
}
93+
cout<<findElement(numvect, num, target);
94+
return 0;
95+
}

CPP/Problems/Find First and Last Position of Element in Sorted Array.cpp

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

CPP/Problems/two-sum.cpp renamed to CPP/Problems/Leetcode-1-Two-Sum.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// https://leetcode.com/problems/two-sum/
12
class Solution {
23
public:
34
vector<int> twoSum(vector<int>& nums, int target) {

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

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

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// https://leetcode.com/problems/container-with-most-water/
12
class Solution {
23
public:
34
int maxArea(vector<int>& height) {

CPP/Problems/Number of Dice Rolls With Target Sum.cpp renamed to CPP/Problems/Leetcode-1155-Number-of-dice-rolls-with-targe-sum.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// https://leetcode.com/problems/number-of-dice-rolls-with-target-sum/
12
class Solution {
23
public:
34

0 commit comments

Comments
 (0)