문제 요약) 감소하지 않은 부분집합을 출력하되, 최소 원소 갯수 2개 이상인 집합을 출력하라. 순서 상관 없음.
사용한 개념 - bitmask
func findSubsequences(_ nums: [Int]) -> [[Int]] {
return Set(
(1 ..< (1 << nums.count))
.map { bits in
nums.indices
.filter { index in bits & 1 << index > 0 }
.reduce(into: [Int]()) { partial, idx in
if partial.isEmpty || nums[idx] >= partial.last! {
partial.append(nums[idx])
}
}
}
).filter { $0.count > 1 }
}
}
bitmask?
bitmask subarray