Skip to content

Commit

Permalink
Added solution for 162. Find Peak Element: https://leetcode.com/probl…
Browse files Browse the repository at this point in the history
  • Loading branch information
asesh committed Nov 19, 2024
1 parent 10efd0e commit 8a553de
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 19 deletions.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
filePath = "algorithm/main.cpp"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "456"
endingLineNumber = "456"
startingLineNumber = "458"
endingLineNumber = "458"
landmarkName = "main(argc, argv)"
landmarkType = "9">
</BreakpointContent>
Expand All @@ -30,8 +30,8 @@
filePath = "algorithm/main.cpp"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "422"
endingLineNumber = "422"
startingLineNumber = "424"
endingLineNumber = "424"
landmarkName = "main(argc, argv)"
landmarkType = "9">
</BreakpointContent>
Expand All @@ -46,8 +46,8 @@
filePath = "algorithm/main.cpp"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "347"
endingLineNumber = "347"
startingLineNumber = "349"
endingLineNumber = "349"
landmarkName = "main(argc, argv)"
landmarkType = "9">
</BreakpointContent>
Expand All @@ -62,8 +62,8 @@
filePath = "algorithm/main.cpp"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "315"
endingLineNumber = "315"
startingLineNumber = "317"
endingLineNumber = "317"
landmarkName = "main(argc, argv)"
landmarkType = "9">
</BreakpointContent>
Expand Down Expand Up @@ -110,8 +110,8 @@
filePath = "algorithm/main.cpp"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "277"
endingLineNumber = "277"
startingLineNumber = "279"
endingLineNumber = "279"
landmarkName = "main(argc, argv)"
landmarkType = "9">
</BreakpointContent>
Expand All @@ -126,8 +126,8 @@
filePath = "algorithm/main.cpp"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "240"
endingLineNumber = "240"
startingLineNumber = "242"
endingLineNumber = "242"
landmarkName = "main(argc, argv)"
landmarkType = "9">
</BreakpointContent>
Expand All @@ -142,8 +142,8 @@
filePath = "algorithm/main.cpp"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "199"
endingLineNumber = "199"
startingLineNumber = "201"
endingLineNumber = "201"
landmarkName = "main(argc, argv)"
landmarkType = "9">
</BreakpointContent>
Expand Down Expand Up @@ -174,8 +174,8 @@
filePath = "algorithm/main.cpp"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "188"
endingLineNumber = "188"
startingLineNumber = "190"
endingLineNumber = "190"
landmarkName = "main(argc, argv)"
landmarkType = "9">
</BreakpointContent>
Expand All @@ -190,8 +190,8 @@
filePath = "algorithm/main.cpp"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "174"
endingLineNumber = "174"
startingLineNumber = "176"
endingLineNumber = "176"
landmarkName = "main(argc, argv)"
landmarkType = "9">
</BreakpointContent>
Expand Down
4 changes: 3 additions & 1 deletion algorithm/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@
#include "trie.hpp"

int main(int argc, const char* argv[]) {
invoke_longest_consecutive_sequence();
invoke_find_peak_element();

// invoke_longest_consecutive_sequence();

// invoke_longest_common_prefx();

Expand Down
52 changes: 52 additions & 0 deletions algorithm/number.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1933,3 +1933,55 @@ void invoke_longest_consecutive_sequence() {
std::vector<int> input = {100,4,200,1,3,2};
std::cout<<"The longest consecutive sequence is: "<<longest_consecutive_sequence(input);
}

/*
*/
bool search_a_2d_matrix(std::vector<std::vector<int>>& input) {
return true;
}
void invoke_search_a_2d_matrix() {
std::vector<std::vector<int>> input = {
{1,3,5,7},
{10,11,16,20},
{23,30,34,60},
};
std::cout<<"Search a 2D matrix: "<<std::boolalpha<<search_a_2d_matrix(input);
}

/*
Input: [1,2,3,1], Output: 2
Process:
0 1 2 3 (index)
1,2,3,1
median = 0+3/2 = 1
2<3? true low = median + 1 = 2
median = 2+3/2 = 2
3<1? false high = median
Input: [1,2,1,3,5,6,4], Output: 5
Process:
0 1 2 3 4 5 6 (index)
1,2,1,3,5,6,4
median = 0+6/2 = 3
3>5? false else low = 4
median = 4+6/2 = 5
6>4? true high = median
*/
int find_peak_element(std::vector<int>& input) {
int low = 0, high = input.size() - 1;
while(low < high) {
int median = (low + high) / 2; // 3
if(input[median] > input[median + 1]) { // 3>5
high = median;
} else {
low = median + 1; // 4
}
}

return low;
}
void invoke_find_peak_element() {
std::vector<int> input = {1,2,3,1};
std::cout<<"The peak element is: "<<find_peak_element(input);
}
10 changes: 10 additions & 0 deletions algorithm/number.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -344,4 +344,14 @@ void invoke_candy();
*/
void invoke_longest_consecutive_sequence();

/*
74. Search a 2D Matrix: https://leetcode.com/problems/search-a-2d-matrix
*/
void invoke_search_a_2d_matrix();

/*
162. Find Peak Element: https://leetcode.com/problems/find-peak-element
*/
void invoke_find_peak_element();

#endif /* NUMBER_HPP */

0 comments on commit 8a553de

Please sign in to comment.