Python3 Program for Maximize elements using another array Last Updated : 05 Sep, 2024 Comments Improve Suggest changes Like Article Like Report Given two arrays with size n, maximize the first array by using the elements from the second array such that the new array formed contains n greatest but unique elements of both the arrays giving the second array priority (All elements of second array appear before first array). The order of appearance of elements is kept same in output as in input.Examples:Input : arr1[] = {2, 4, 3} arr2[] = {5, 6, 1} Output : 5 6 4 As 5, 6 and 4 are maximum elements from two arrays giving second array higher priority. Order of elements is same in output as in input.Input : arr1[] = {7, 4, 8, 0, 1} arr2[] = {9, 7, 2, 3, 6} Output : 9 7 6 4 8Approach : We create an auxiliary array of size 2*n and store the elements of 2nd array in auxiliary array, and then we will store elements of 1st array in it. After that we will sort auxiliary array in decreasing order. To keep the order of elements according to input arrays we will use hash table. We will store 1st n largest unique elements of auxiliary array in hash table. Now we traverse the second array and store that elements of second array in auxiliary array that are present in hash table. Similarly we will traverse first array and store the elements that are present in hash table. In this way we get n unique and largest elements from both the arrays in auxiliary array while keeping the order of appearance of elements same.Below is the implementation of above approach : Python3 # Python3 program to print the maximum elements # giving second array higher priority # Function to maximize array elements def maximizeArray(arr1, arr2, n): # Auxiliary array arr3 to store # elements of arr1 & arr2 arr3 = [0] * (2 * n) k = 0 for i in range(n): arr3[k] = arr1[i] k += 1 for i in range(n): arr3[k] = arr2[i] k += 1 # Hash table to store n largest # unique elements hash = {} # Sorting arr3 in decreasing order arr3 = sorted(arr3) arr3 = arr3[::-1] # Finding n largest unique elements # from arr3 and storing in hash i = 0 while (len(hash) != n): # If arr3 element not present in hash, # then store this element in hash if (arr3[i] not in hash): hash[arr3[i]] = 1 i += 1 # Store that elements of arr2 in arr3 # that are present in hash k = 0 for i in range(n): # If arr2 element is present in # hash, store it in arr3 if (arr2[i] in hash): arr3[k] = arr2[i] k += 1 del hash[arr2[i]] # Store that elements of arr1 in arr3 # that are present in hash for i in range(n): # If arr1 element is present # in hash, store it in arr3 if (arr1[i] in hash): arr3[k] = arr1[i] k += 1 del hash[arr1[i]] # Copying 1st n elements of # arr3 to arr1 for i in range(n): arr1[i] = arr3[i] # Function to print array elements def printArray(arr, n): for i in arr: print(i, end = " ") print() # Driver Code if __name__ == '__main__': array1 = [ 7, 4, 8, 0, 1 ] array2 = [ 9, 7, 2, 3, 6 ] size = len(array1) maximizeArray(array1, array2, size) printArray(array1, size) # This code is contributed by mohit kumar 29 Output9 7 6 4 8Time complexity: O(n * log n).Auxiliary space: O(n) because it is using extra space Please refer complete article on Maximize elements using another array for more details! Comment More infoAdvertise with us Next Article Python3 Program for Maximize elements using another array kartik Follow Improve Article Tags : Sorting Hash Python Python Programs DSA Arrays cpp-unordered_set +3 More Practice Tags : ArraysHashpythonSorting Similar Reads Python Tutorial | Learn Python Programming Language Python Tutorial â Python is one of the most popular programming languages. Itâs simple to use, packed with features and supported by a wide range of libraries and frameworks. Its clean syntax makes it beginner-friendly.Python is:A high-level language, used in web development, data science, automatio 10 min read DSA Tutorial - Learn Data Structures and Algorithms DSA (Data Structures and Algorithms) is the study of organizing data efficiently using data structures like arrays, stacks, and trees, paired with step-by-step procedures (or algorithms) to solve problems effectively. Data structures manage how data is stored and accessed, while algorithms focus on 7 min read Python Interview Questions and Answers Python is the most used language in top companies such as Intel, IBM, NASA, Pixar, Netflix, Facebook, JP Morgan Chase, Spotify and many more because of its simplicity and powerful libraries. To crack their Online Assessment and Interview Rounds as a Python developer, we need to master important Pyth 15+ min read Quick Sort QuickSort is a sorting algorithm based on the Divide and Conquer that picks an element as a pivot and partitions the given array around the picked pivot by placing the pivot in its correct position in the sorted array. It works on the principle of divide and conquer, breaking down the problem into s 12 min read Merge Sort - Data Structure and Algorithms Tutorials Merge sort is a popular sorting algorithm known for its efficiency and stability. It follows the divide-and-conquer approach. It works by recursively dividing the input array into two halves, recursively sorting the two halves and finally merging them back together to obtain the sorted array. Merge 14 min read Data Structures Tutorial Data structures are the fundamental building blocks of computer programming. They define how data is organized, stored, and manipulated within a program. Understanding data structures is very important for developing efficient and effective algorithms. What is Data Structure?A data structure is a st 2 min read Bubble Sort Algorithm Bubble Sort is the simplest sorting algorithm that works by repeatedly swapping the adjacent elements if they are in the wrong order. This algorithm is not suitable for large data sets as its average and worst-case time complexity are quite high.We sort the array using multiple passes. After the fir 8 min read Breadth First Search or BFS for a Graph Given a undirected graph represented by an adjacency list adj, where each adj[i] represents the list of vertices connected to vertex i. Perform a Breadth First Search (BFS) traversal starting from vertex 0, visiting vertices from left to right according to the adjacency list, and return a list conta 15+ min read Python OOPs Concepts Object Oriented Programming is a fundamental concept in Python, empowering developers to build modular, maintainable, and scalable applications. By understanding the core OOP principles (classes, objects, inheritance, encapsulation, polymorphism, and abstraction), programmers can leverage the full p 11 min read Binary Search Algorithm - Iterative and Recursive Implementation Binary Search Algorithm is a searching algorithm used in a sorted array by repeatedly dividing the search interval in half. The idea of binary search is to use the information that the array is sorted and reduce the time complexity to O(log N). Binary Search AlgorithmConditions to apply Binary Searc 15 min read Like