Given two arrays: a[] and b[], where both arrays may contain duplicate elements, which are considered as a separate element of the set. Check if array b is a subset of array a.
Create an empty list or dictionary to keep track of how many times each element appears in list 'a'. Go through each element in list 'b':
a = [11, 7, 1, 13, 21, 3, 7, 3] b = [11, 3, 7, 1, 7] m = {} output = True for i in range(len(a)): item = a[i] if item not in m: m[item] = 1 else: m[item] = m[item] + 1 for i in range(len(b)): item = b[i] if item not in m or m[item] <= 0: output = False break else: m[item] = m[item] - 1 print(output)
const a = [11, 7, 1, 13, 21, 3, 7, 3]; const b = [11, 3, 7, 1, 7]; const m = {}; let output = true; for (let i = 0; i < a.length; i++) { let item = a[i]; if (!m[item]) { m[item] = 1; } else { m[item] = m[item] + 1; } } for (let i = 0; i < b.length; i++) { let item = b[i]; if (!m[item] || m[item] <= 0) { output = false; break; } else { m[item] = m[item] - 1; } } console.log(output);