Test time left: 22:45Write the codeGiven a set of distinct positive integers, find the largest subset such that every pair of elements in the subset (i, j) satisfies either i % j = 0 or j % i = 0.For example, given the set [3, 5, 10, 20, 21], you should return [5, 10, 20]. Given [1, 3, 6, 24], return [1, 3, 6, 24]
Question
Test time left: 22:45Write the codeGiven a set of distinct positive integers, find the largest subset such that every pair of elements in the subset (i, j) satisfies either i % j = 0 or j % i = 0.For example, given the set [3, 5, 10, 20, 21], you should return [5, 10, 20]. Given [1, 3, 6, 24], return [1, 3, 6, 24]
Solution
Here is a Python solution for the problem:
def largest_subset(nums):
if not nums: return []
nums.sort()
dp = [[num] for num in nums]
for i in range(len(nums)):
for j in range(i):
if nums[i] % nums[j] == 0 and len(dp[i]) < len(dp[j]) + 1:
dp[i] = dp[j] + [nums[i]]
return max(dp, key=len)
print(largest_subset([3, 5, 10, 20, 21])) # Output: [5, 10, 20]
print(largest_subset([1, 3, 6, 24])) # Output: [1, 3, 6, 24]
Here is a step-by-step explanation of the code:
- If the input list
numsis empty, return an empty list. - Sort the list
numsin ascending order. - Initialize a list
dpwhere each element is a list containing one element fromnums. This list will be used to store the largest subsets that satisfy the condition for each element innums. - Iterate over each element in
numswith indexi. - For each
i, iterate over each element with indexjthat comes beforei. - If
nums[i]is divisible bynums[j]and the length of the subset atdp[i]is less than the length of the subset atdp[j]plus one, updatedp[i]to be the subset atdp[j]plusnums[i]. - After iterating over all elements in
nums, find and return the longest subset indp.
Similar Questions
Given a set of distinct positive integers, find the largest subset such that every pair of elements in the subset (i, j) satisfies either i % j = 0 or j % i = 0.For example, given the set [3, 5, 10, 20, 21], you should return [5, 10, 20]. Given [1, 3, 6, 24], return [1, 3, 6, 24]
You have been given an array 'A' of N integers. You need to find the maximum value of j - i subjected to the constraint of A[i] <= A[j], where ‘i’ and ‘j’ are the indices of the array.For example :If 'A' = {3, 5, 4, 1}then the output will be 2.Maximum value occurs for the pair (3, 4)Detailed explanation ( Input/output format, Notes, Images )Constraints:1 <= T <= 1001 <= N <= 10 ^ 4-10 ^ 5 <= A[i] <= 10 ^ 5Time limit: 1 sec.Sample Input 1:1934 8 10 3 2 80 30 33 1Sample Output 1:6Explanation:Maximum value occurs for the pair (8, 33)Sample Input 2:1109 2 3 4 5 6 7 8 18 0Sample Output 2:8Explanation:Maximum value occurs for the pair (9, 18)
You are given an array 𝐴A of size 𝑁N.Find the largest integer 𝐾K such that there exists a subsequence 𝑆S of length 𝐾K where 𝐾K is divisible by the number of distinct elements in 𝑆S.Input FormatThe first line contains a single integer 𝑇T, denoting the number of test cases.The first line of each test case contains a positive integer 𝑁N, the length of array 𝐴A.The second line contains 𝑁N space-separated integers, 𝐴1,𝐴2,…,𝐴𝑁A 1 ,A 2 ,…,A N −− denoting the array 𝐴A.Output FormatFor each test case, output the largest valid 𝐾K.Constraints1≤𝑇≤1041≤T≤10 4 1≤𝐴𝑖≤𝑁≤2⋅1051≤A i ≤N≤2⋅10 5 The sum of 𝑁N over all test cases won't exceed 2⋅1052⋅10 5 .Sample 1:
Write a program for the maximum possible difference between two subsets of an array.Given an array of n integers. The array may contain repetitive elements, but the highest frequency of any element must not exceed two. Make two subsets such that the difference of the sum of their elements is maximum and both of them jointly contain all elements of the given array along with the most important condition, no subset should contain repetitive elements. ExampleInput:45 8 -1 4Output:Maximum Difference = 18Explanation:Suppose arr[ ] = {5, 8, -1, 4}Let Subset A = {5, 8, 4} & Subset B = {-1}Sum of elements of subset A = 17, of subset B = -1Difference of Sum of Both subsets = 17 - (-1) = 18Input format :The first input line consists of the size of an array, n.The second input consists of the array elements, separated by space.Output format :The output displays the maximum possible difference between two subsets of an array.Refer to the sample output for the formatting specifications.Code constraints :2 ≤ n ≤ 100Sample test cases :Input 1 :74 2 -3 3 -2 -2 8Output 1 :Maximum Difference = 20Input 2 :45 8 -1 4Output 2 :Maximum Difference = 18
Given an array of integers, find the largest number that can be constructed by concatenating all the elements of the given array.Input FormatFirst line of input contains T - number of test cases. Its followed by 2T lines. First line of each test case contains N - size of the array and the second line contains N integers - elements of the array.Constraints1 <= T <= 10001 <= N <= 10000 <= ar[i] <= 1000Output FormatFor each test case, print the largest number that can be constructed by concatenating all the elements of the given array, separated by newline.Sample Input 03849 73 58 30 72 44 78 23 469 9 57 60 240 4 Sample Output 078737258494430239696057440
Upgrade your grade with Knowee
Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.