diff --git a/annotated.html b/annotated.html index 0651a0986..33467db29 100644 --- a/annotated.html +++ b/annotated.html @@ -263,27 +263,28 @@ $(function(){initNavTree('annotated.html',''); initResizable(true); });  Clinkedlist  Clist  CListNodeFor IO operations - CMinHeap - CMinHeapNode - Cmst - CNode - Cnode - CPoint - Cquery - CQueue - Cqueue - CRBtree - CSegmentIntersection - CSolution - CstackFor std::invalid_argument - Cstack_linkedList - CTestCaseSingle example inputs and expected output of the function longest_common_string_length - CTestCasesClass encapsulating the necessary test cases - Ctower - CTrie - CTrieNode - Cuint128_tClass for 128-bit unsigned integer - Cuint256_tClass for 256-bit unsigned integer + CLongest_SubstringClass that solves the Longest Substring Without Repeating Characters problem + CMinHeap + CMinHeapNode + Cmst + CNode + Cnode + CPoint + Cquery + CQueue + Cqueue + CRBtree + CSegmentIntersection + CSolution + CstackFor std::invalid_argument + Cstack_linkedList + CTestCaseSingle example inputs and expected output of the function longest_common_string_length + CTestCasesClass encapsulating the necessary test cases + Ctower + CTrie + CTrieNode + Cuint128_tClass for 128-bit unsigned integer + Cuint256_tClass for 256-bit unsigned integer diff --git a/annotated_dup.js b/annotated_dup.js index acbb8e242..ab2a78332 100644 --- a/annotated_dup.js +++ b/annotated_dup.js @@ -204,6 +204,7 @@ var annotated_dup = [ "linkedlist", "d0/dff/structlinkedlist.html", null ], [ "list", "d8/d10/structlist.html", "d8/d10/structlist" ], [ "ListNode", "d7/da4/struct_list_node.html", "d7/da4/struct_list_node" ], + [ "Longest_Substring", "da/d21/class_longest___substring.html", "da/d21/class_longest___substring" ], [ "MinHeap", "d2/d05/class_min_heap.html", "d2/d05/class_min_heap" ], [ "MinHeapNode", "d5/d29/struct_min_heap_node.html", null ], [ "mst", "d1/d77/structmst.html", null ], diff --git a/classes.html b/classes.html index 62c74a4f1..d917b39a1 100644 --- a/classes.html +++ b/classes.html @@ -141,7 +141,7 @@ $(function(){initNavTree('classes.html',''); initResizable(true); });
Knn (machine_learning::k_nearest_neighbors)
L
-
large_number
LFUCache (others::Cache)
link (data_structures::linked_list)
linkedlist
list (data_structures::linked_list)
list (data_structures::list_array)
list
ListNode
LowestCommonAncestor (graph)
LRUCache (others::lru_cache)
+
large_number
LFUCache (others::Cache)
link (data_structures::linked_list)
linkedlist
list (data_structures::linked_list)
list (data_structures::list_array)
list
ListNode
Longest_Substring
LowestCommonAncestor (graph)
LRUCache (others::lru_cache)
M
Matrix (divide_and_conquer::strassens_multiplication)
MinHeap
MinHeapNode
mst
diff --git a/d3/d9c/class_longest___substring-members.html b/d3/d9c/class_longest___substring-members.html new file mode 100644 index 000000000..85870d585 --- /dev/null +++ b/d3/d9c/class_longest___substring-members.html @@ -0,0 +1,123 @@ + + + + + + + +Algorithms_in_C++: Member List + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Algorithms_in_C++ 1.0.0 +
+
Set of algorithms implemented in C++.
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Longest_Substring Member List
+
+
+ +

This is the complete list of members for Longest_Substring, including all inherited members.

+ + +
lengthOfLongestSubstring(std::string s)Longest_Substringinline
+
+ + + + diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp.html b/d4/db8/longest__substring__without__repeating__characters_8cpp.html new file mode 100644 index 000000000..4403f6634 --- /dev/null +++ b/d4/db8/longest__substring__without__repeating__characters_8cpp.html @@ -0,0 +1,237 @@ + + + + + + + +Algorithms_in_C++: others/longest_substring_without_repeating_characters.cpp File Reference + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Algorithms_in_C++ 1.0.0 +
+
Set of algorithms implemented in C++.
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
longest_substring_without_repeating_characters.cpp File Reference
+
+
+ +

Solution for Longest Substring Without Repeating Characters problem. +More...

+
#include <iostream>
+#include <unordered_map>
+#include <deque>
+#include <string>
+#include <cassert>
+
+Include dependency graph for longest_substring_without_repeating_characters.cpp:
+
+
+
+
+ + + + +

+Classes

class  Longest_Substring
 Class that solves the Longest Substring Without Repeating Characters problem. More...
 
+ + + + + + + +

+Functions

static void tests ()
 Self-test implementations.
 
int main ()
 Main function.
 
+

Detailed Description

+

Solution for Longest Substring Without Repeating Characters problem.

+

Problem link: https://leetcode.com/problems/longest-substring-without-repeating-characters/description/

+

Intuition: 1) The intuition is straightforward and simple. We track the frequency of characters. 2) Since we can't use a string to track the longest substring without repeating characters efficiently (as removing a character from the front of a string isn't O(1)), we optimize the solution using a deque approach.

+

Approach: 1) Initialize an unordered_map to track the frequency of characters. 2) Use a deque for pushing characters, and update the result deque (res) with the current deque (temp) whenever we find a longer substring. 3) Use a while loop to reduce the frequency from the front, incrementing i, and removing characters from the temp deque as we no longer need them. 4) Return res.size() as we are interested in the length of the longest substring.

+

Time Complexity: O(N) Space Complexity: O(N)

+

I hope this helps to understand. Thank you!

Author
Ashish Kumar Sahoo
+

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + +
int main (void )
+
+ +

Main function.

+
Returns
0 on successful execution.
+
107 {
+
108 tests(); // run self-test implementations
+
109 return 0;
+
110}
+
static void tests()
Self-test implementations.
Definition longest_substring_without_repeating_characters.cpp:92
+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ tests()

+ +
+
+ + + + + +
+ + + + + + + +
static void tests ()
+
+static
+
+ +

Self-test implementations.

+
Returns
void
+
92 {
+ +
94 assert(soln.lengthOfLongestSubstring("abcabcbb") == 3);
+
95 assert(soln.lengthOfLongestSubstring("bbbbb") == 1);
+
96 assert(soln.lengthOfLongestSubstring("pwwkew") == 3);
+
97 assert(soln.lengthOfLongestSubstring("") == 0); // Test case for empty string
+
98 assert(soln.lengthOfLongestSubstring("abcdef") == 6); // Test case for all unique characters
+
99 assert(soln.lengthOfLongestSubstring("a") == 1); // Single character
+
100 std::cout << "All test cases passed!" << std::endl;
+
101}
+ +
Class that solves the Longest Substring Without Repeating Characters problem.
Definition longest_substring_without_repeating_characters.cpp:37
+
int lengthOfLongestSubstring(std::string s)
Function to find the length of the longest substring without repeating characters.
Definition longest_substring_without_repeating_characters.cpp:44
+
T endl(T... args)
+
+Here is the call graph for this function:
+
+
+
+ +
+
+
+
+ + + + diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp.js b/d4/db8/longest__substring__without__repeating__characters_8cpp.js new file mode 100644 index 000000000..c4576cbef --- /dev/null +++ b/d4/db8/longest__substring__without__repeating__characters_8cpp.js @@ -0,0 +1,6 @@ +var longest__substring__without__repeating__characters_8cpp = +[ + [ "Longest_Substring", "da/d21/class_longest___substring.html", "da/d21/class_longest___substring" ], + [ "main", "d4/db8/longest__substring__without__repeating__characters_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ], + [ "tests", "d4/db8/longest__substring__without__repeating__characters_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e", null ] +]; \ No newline at end of file diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map new file mode 100644 index 000000000..a451ff9d1 --- /dev/null +++ b/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 new file mode 100644 index 000000000..a26b6545b --- /dev/null +++ b/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 @@ -0,0 +1 @@ +ec4a64e645c08d440cf37b1dc5b42cb5 \ No newline at end of file diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg new file mode 100644 index 000000000..036bf0964 --- /dev/null +++ b/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg @@ -0,0 +1,165 @@ + + + + + + + + + + + + +tests + + +Node1 + + +tests + + + + + +Node2 + + +std::endl + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +Longest_Substring:: +lengthOfLongestSubstring + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +std::string::length + + + + + +Node3->Node4 + + + + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +std::deque::pop_front + + + + + +Node3->Node5 + + + + + + + + +Node6 + + +std::deque::push_back + + + + + +Node3->Node6 + + + + + + + + +Node7 + + +std::deque::size + + + + + +Node3->Node7 + + + + + + + + + + + + + diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg new file mode 100644 index 000000000..a939678c7 --- /dev/null +++ b/d4/db8/longest__substring__without__repeating__characters_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg @@ -0,0 +1,139 @@ + + + + + + +tests + + +Node1 + + +tests + + + + + +Node2 + + +std::endl + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +Longest_Substring:: +lengthOfLongestSubstring + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +std::string::length + + + + + +Node3->Node4 + + + + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +std::deque::pop_front + + + + + +Node3->Node5 + + + + + + + + +Node6 + + +std::deque::push_back + + + + + +Node3->Node6 + + + + + + + + +Node7 + + +std::deque::size + + + + + +Node3->Node7 + + + + + + + + diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map new file mode 100644 index 000000000..6ac5cd802 --- /dev/null +++ b/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 new file mode 100644 index 000000000..cd17fb9e2 --- /dev/null +++ b/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 @@ -0,0 +1 @@ +9a298f8fde636c70b4993bda1b8ba5bb \ No newline at end of file diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg new file mode 100644 index 000000000..c08e70978 --- /dev/null +++ b/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg @@ -0,0 +1,183 @@ + + + + + + + + + + + + +main + + +Node1 + + +main + + + + + +Node2 + + +tests + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +std::endl + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +Longest_Substring:: +lengthOfLongestSubstring + + + + + +Node2->Node4 + + + + + + + + +Node5 + + +std::string::length + + + + + +Node4->Node5 + + + + + + + + +Node4->Node5 + + + + + + + + +Node6 + + +std::deque::pop_front + + + + + +Node4->Node6 + + + + + + + + +Node7 + + +std::deque::push_back + + + + + +Node4->Node7 + + + + + + + + +Node8 + + +std::deque::size + + + + + +Node4->Node8 + + + + + + + + + + + + + diff --git a/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg new file mode 100644 index 000000000..be17519b0 --- /dev/null +++ b/d4/db8/longest__substring__without__repeating__characters_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg @@ -0,0 +1,157 @@ + + + + + + +main + + +Node1 + + +main + + + + + +Node2 + + +tests + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +std::endl + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +Longest_Substring:: +lengthOfLongestSubstring + + + + + +Node2->Node4 + + + + + + + + +Node5 + + +std::string::length + + + + + +Node4->Node5 + + + + + + + + +Node4->Node5 + + + + + + + + +Node6 + + +std::deque::pop_front + + + + + +Node4->Node6 + + + + + + + + +Node7 + + +std::deque::push_back + + + + + +Node4->Node7 + + + + + + + + +Node8 + + +std::deque::size + + + + + +Node4->Node8 + + + + + + + + diff --git a/da/d21/class_longest___substring.html b/da/d21/class_longest___substring.html new file mode 100644 index 000000000..3da1e2f6b --- /dev/null +++ b/da/d21/class_longest___substring.html @@ -0,0 +1,225 @@ + + + + + + + +Algorithms_in_C++: Longest_Substring Class Reference + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Algorithms_in_C++ 1.0.0 +
+
Set of algorithms implemented in C++.
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
Longest_Substring Class Reference
+
+
+ +

Class that solves the Longest Substring Without Repeating Characters problem. + More...

+ + + + + +

+Public Member Functions

int lengthOfLongestSubstring (std::string s)
 Function to find the length of the longest substring without repeating characters.
 
+

Detailed Description

+

Class that solves the Longest Substring Without Repeating Characters problem.

+

Member Function Documentation

+ +

◆ lengthOfLongestSubstring()

+ +
+
+ + + + + +
+ + + + + + + +
int Longest_Substring::lengthOfLongestSubstring (std::string s)
+
+inline
+
+ +

Function to find the length of the longest substring without repeating characters.

+
Parameters
+ + +
sInput string.
+
+
+
Returns
Length of the longest substring.
+
44 {
+
45 // If the size of string is 1, then it will be the answer.
+
46 if (s.size() == 1) return 1;
+
47
+
48 // Map used to store the character frequency.
+ +
50 int n = s.length();
+
51
+
52 // Deque to remove from back if repeating characters are present.
+ + +
55 int i, j;
+
56
+
57 // Sliding window approach using two pointers.
+
58 for (i = 0, j = 0; i < n && j < n;) {
+
59 m[s[j]]++;
+
60
+
61 // If repeating character found, update result and remove from the front.
+
62 if (m[s[j]] > 1) {
+
63 if (temp.size() > res.size()) {
+
64 res = temp;
+
65 }
+
66
+
67 while (m[s[j]] > 1) {
+
68 temp.pop_front();
+
69 m[s[i]]--;
+
70 i++;
+
71 }
+
72 }
+
73
+
74 // Add the current character to the deque.
+
75 temp.push_back(s[j]);
+
76 j++;
+
77 }
+
78
+
79 // Final check to update result.
+
80 if (temp.size() > res.size()) {
+
81 res = temp;
+
82 }
+
83
+
84 return res.size(); // Return the length of the longest substring.
+
85 }
+ +
T pop_front(T... args)
+
T push_back(T... args)
+
T size(T... args)
+ +
+Here is the call graph for this function:
+
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/da/d21/class_longest___substring.js b/da/d21/class_longest___substring.js new file mode 100644 index 000000000..e561c55ad --- /dev/null +++ b/da/d21/class_longest___substring.js @@ -0,0 +1,4 @@ +var class_longest___substring = +[ + [ "lengthOfLongestSubstring", "da/d21/class_longest___substring.html#af8a3672bc8d95e7da4f9a45e5e2e387d", null ] +]; \ No newline at end of file diff --git a/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.map b/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.map new file mode 100644 index 000000000..7673d2053 --- /dev/null +++ b/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.md5 b/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.md5 new file mode 100644 index 000000000..f844eac89 --- /dev/null +++ b/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.md5 @@ -0,0 +1 @@ +5ded94fdecb46e5c02f228d958402fa6 \ No newline at end of file diff --git a/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.svg b/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.svg new file mode 100644 index 000000000..6356599ca --- /dev/null +++ b/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph.svg @@ -0,0 +1,129 @@ + + + + + + + + + + + + +Longest_Substring::lengthOfLongestSubstring + + +Node1 + + +Longest_Substring:: +lengthOfLongestSubstring + + + + + +Node2 + + +std::string::length + + + + + +Node1->Node2 + + + + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +std::deque::pop_front + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +std::deque::push_back + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +std::deque::size + + + + + +Node1->Node5 + + + + + + + + + + + + + diff --git a/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph_org.svg b/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph_org.svg new file mode 100644 index 000000000..26167f772 --- /dev/null +++ b/da/d21/class_longest___substring_af8a3672bc8d95e7da4f9a45e5e2e387d_cgraph_org.svg @@ -0,0 +1,103 @@ + + + + + + +Longest_Substring::lengthOfLongestSubstring + + +Node1 + + +Longest_Substring:: +lengthOfLongestSubstring + + + + + +Node2 + + +std::string::length + + + + + +Node1->Node2 + + + + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +std::deque::pop_front + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +std::deque::push_back + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +std::deque::size + + + + + +Node1->Node5 + + + + + + + + diff --git a/db/de5/longest__substring__without__repeating__characters_8cpp__incl.map b/db/de5/longest__substring__without__repeating__characters_8cpp__incl.map new file mode 100644 index 000000000..2cf1802e8 --- /dev/null +++ b/db/de5/longest__substring__without__repeating__characters_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/db/de5/longest__substring__without__repeating__characters_8cpp__incl.md5 b/db/de5/longest__substring__without__repeating__characters_8cpp__incl.md5 new file mode 100644 index 000000000..3b28ade96 --- /dev/null +++ b/db/de5/longest__substring__without__repeating__characters_8cpp__incl.md5 @@ -0,0 +1 @@ +9e3596639e6f0af1d20e70795d8f0e22 \ No newline at end of file diff --git a/db/de5/longest__substring__without__repeating__characters_8cpp__incl.svg b/db/de5/longest__substring__without__repeating__characters_8cpp__incl.svg new file mode 100644 index 000000000..b93cf11ae --- /dev/null +++ b/db/de5/longest__substring__without__repeating__characters_8cpp__incl.svg @@ -0,0 +1,138 @@ + + + + + + + + + + + + +others/longest_substring_without_repeating_characters.cpp + + +Node1 + + +others/longest_substring +_without_repeating_characters.cpp + + + + + +Node2 + + +iostream + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +unordered_map + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +deque + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +string + + + + + +Node1->Node5 + + + + + + + + +Node6 + + +cassert + + + + + +Node1->Node6 + + + + + + + + + + + + + diff --git a/db/de5/longest__substring__without__repeating__characters_8cpp__incl_org.svg b/db/de5/longest__substring__without__repeating__characters_8cpp__incl_org.svg new file mode 100644 index 000000000..531e31bed --- /dev/null +++ b/db/de5/longest__substring__without__repeating__characters_8cpp__incl_org.svg @@ -0,0 +1,112 @@ + + + + + + +others/longest_substring_without_repeating_characters.cpp + + +Node1 + + +others/longest_substring +_without_repeating_characters.cpp + + + + + +Node2 + + +iostream + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +unordered_map + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +deque + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +string + + + + + +Node1->Node5 + + + + + + + + +Node6 + + +cassert + + + + + +Node1->Node6 + + + + + + + + diff --git a/dir_9510827d0b234b3cc54b29892f217477.html b/dir_9510827d0b234b3cc54b29892f217477.html index ca268f8a1..30fca4c8f 100644 --- a/dir_9510827d0b234b3cc54b29892f217477.html +++ b/dir_9510827d0b234b3cc54b29892f217477.html @@ -140,6 +140,9 @@ Files  lfu_cache.cpp  Implementation for [LFU Cache] (https://en.wikipedia.org/wiki/Least_frequently_used)
  + longest_substring_without_repeating_characters.cppSolution for Longest Substring Without Repeating Characters problem.
 lru_cache.cpp  An implementation of LRU Cache. Lru is a part of cache algorithms (also frequently called cache replacement algorithms or cache replacement policies).
  diff --git a/dir_9510827d0b234b3cc54b29892f217477.js b/dir_9510827d0b234b3cc54b29892f217477.js index 3dd46e444..9465179fe 100644 --- a/dir_9510827d0b234b3cc54b29892f217477.js +++ b/dir_9510827d0b234b3cc54b29892f217477.js @@ -10,6 +10,7 @@ var dir_9510827d0b234b3cc54b29892f217477 = [ "kadanes3.cpp", "de/dcd/kadanes3_8cpp.html", "de/dcd/kadanes3_8cpp" ], [ "kelvin_to_celsius.cpp", "db/d6b/kelvin__to__celsius_8cpp.html", "db/d6b/kelvin__to__celsius_8cpp" ], [ "lfu_cache.cpp", "d9/d65/lfu__cache_8cpp.html", "d9/d65/lfu__cache_8cpp" ], + [ "longest_substring_without_repeating_characters.cpp", "d4/db8/longest__substring__without__repeating__characters_8cpp.html", "d4/db8/longest__substring__without__repeating__characters_8cpp" ], [ "lru_cache.cpp", "d3/db3/lru__cache_8cpp.html", "d3/db3/lru__cache_8cpp" ], [ "matrix_exponentiation.cpp", "d7/d35/matrix__exponentiation_8cpp.html", "d7/d35/matrix__exponentiation_8cpp" ], [ "palindrome_of_number.cpp", "da/d9a/palindrome__of__number_8cpp.html", "da/d9a/palindrome__of__number_8cpp" ], diff --git a/doxygen_crawl.html b/doxygen_crawl.html index 306a09ceb..a72536a01 100644 --- a/doxygen_crawl.html +++ b/doxygen_crawl.html @@ -235,6 +235,7 @@ + @@ -363,6 +364,8 @@ + + @@ -1771,6 +1774,9 @@ + + + @@ -2889,6 +2895,8 @@ + + diff --git a/files.html b/files.html index 094c1883e..899ca2c9b 100644 --- a/files.html +++ b/files.html @@ -345,20 +345,21 @@ N)\) time, with precision fixed using kadanes3.cppEfficient implementation for maximum contiguous subarray sum by Kadane's algorithm  kelvin_to_celsius.cppConversion from Kelvin to Celsius degrees  lfu_cache.cppImplementation for [LFU Cache] (https://en.wikipedia.org/wiki/Least_frequently_used) - lru_cache.cppAn implementation of LRU Cache. Lru is a part of cache algorithms (also frequently called cache replacement algorithms or cache replacement policies) - matrix_exponentiation.cppMatrix Exponentiation - palindrome_of_number.cppCheck if a number is palindrome or not - paranthesis_matching.cppPerform paranthesis matching - pascal_triangle.cppPascal's triangle implementation - postfix_evaluation.cppEvaluation of Postfix Expression - primality_test.cppPrimality test implementation - recursive_tree_traversal.cppRecursive version of Inorder, Preorder, and Postorder [Traversal of the Tree] (https://en.wikipedia.org/wiki/Tree_traversal) - smallest_circle.cppGet centre and radius of the smallest circle that circumscribes given set of points - sparse_matrix.cpp - spiral_print.cppPrint the elements of a matrix traversing it spirally - stairs_pattern.cppThis program is use to print the following pattern - tower_of_hanoi.cppSolve the Tower of Hanoi problem - vector_important_functions.cppA C++ program to demonstrate working of std::sort(), std::reverse() + longest_substring_without_repeating_characters.cppSolution for Longest Substring Without Repeating Characters problem + lru_cache.cppAn implementation of LRU Cache. Lru is a part of cache algorithms (also frequently called cache replacement algorithms or cache replacement policies) + matrix_exponentiation.cppMatrix Exponentiation + palindrome_of_number.cppCheck if a number is palindrome or not + paranthesis_matching.cppPerform paranthesis matching + pascal_triangle.cppPascal's triangle implementation + postfix_evaluation.cppEvaluation of Postfix Expression + primality_test.cppPrimality test implementation + recursive_tree_traversal.cppRecursive version of Inorder, Preorder, and Postorder [Traversal of the Tree] (https://en.wikipedia.org/wiki/Tree_traversal) + smallest_circle.cppGet centre and radius of the smallest circle that circumscribes given set of points + sparse_matrix.cpp + spiral_print.cppPrint the elements of a matrix traversing it spirally + stairs_pattern.cppThis program is use to print the following pattern + tower_of_hanoi.cppSolve the Tower of Hanoi problem + vector_important_functions.cppA C++ program to demonstrate working of std::sort(), std::reverse()   physics  ground_to_ground_projectile_motion.cppGround to ground projectile motion equation implementations   probability diff --git a/functions_func_l.html b/functions_func_l.html index 2a8716b64..cc9566097 100644 --- a/functions_func_l.html +++ b/functions_func_l.html @@ -112,6 +112,7 @@ $(function(){initNavTree('functions_func_l.html',''); initResizable(true); });
  • lca() : range_queries::heavy_light_decomposition::Tree< X >
  • left() : MinHeap
  • LeftRotate() : data_structures::tree_234::Tree234
  • +
  • lengthOfLongestSubstring() : Longest_Substring
  • LFUCache() : others::Cache::LFUCache< K, V >
  • lift() : range_queries::heavy_light_decomposition::Tree< X >
  • LinearSearch() : data_structures::list_array::list< N >
  • diff --git a/functions_l.html b/functions_l.html index 330855d26..7c7efdb4d 100644 --- a/functions_l.html +++ b/functions_l.html @@ -114,6 +114,7 @@ $(function(){initNavTree('functions_l.html',''); initResizable(true); });
  • lca() : range_queries::heavy_light_decomposition::Tree< X >
  • left : binary_search_tree< T >::bst_node, MinHeap, operations_on_datastructures::inorder_traversal_of_bst::Node, operations_on_datastructures::reverse_binary_tree::Node, others::iterative_tree_traversals::Node, others::recursive_tree_traversals::Node
  • LeftRotate() : data_structures::tree_234::Tree234
  • +
  • lengthOfLongestSubstring() : Longest_Substring
  • level : data_structures::SkipList, graph::RootedTree
  • LFUCache() : others::Cache::LFUCache< K, V >
  • lift() : range_queries::heavy_light_decomposition::Tree< X >
  • diff --git a/globals_func_m.html b/globals_func_m.html index 5118721e4..5631b29d7 100644 --- a/globals_func_m.html +++ b/globals_func_m.html @@ -107,7 +107,7 @@ $(function(){initNavTree('globals_func_m.html',''); initResizable(true); });
    Here is a list of all documented functions with links to the documentation:

    - m -