![]() |
VOOZH | about |
Sometimes, while working with tuple list, we may require a case in which we require that a tuple starts from the end of previous tuple, i.e the element 0 of every tuple should be equal to ending element of tuple in list of tuple. This type of problem and sorting is useful in competitive programming. Let's discuss way in which this problem can be solved.
Method : Using loop + dict() This task can easily be solved by converting a tuple container list to dictionary and then it's easy to access a value of a key and arrange them accordingly to sort in a way in which one tuple element begins with the ending of other element.
The original list is : [(5, 6), (11, 8), (6, 11), (8, 9)] The arranged list is : [(5, 6), (6, 11), (11, 8), (8, 9)]
Time Complexity: O(n), where n is the length of the list test_list
Auxiliary Space: O(n) additional space of size n is created where n is the number of elements in the list
Method #2:Using the sorting and then comparing the values:
The original list is: [(5, 6), (11, 8), (6, 11), (8, 9)] The arranged list is: [(5, 6), (6, 11), (11, 8), (8, 9)]
Time complexity is O(n^2) in the worst case due to the nested loop
Auxiliary Space is O(n) because we use a sorted copy of the original list