Python 3 || 2 lines, count bits  || T/S: 90% / 99%
Here\'s the intuition:\n- A solution exists if and only if the set bits of k are also set in n, which equivalently means that a solution exists if and only if n
Here\'s the intuition:\n- A solution exists if and only if the set bits of `k` are also set in `n`, which equivalently means that a solution exists if and only if `n & k == k`.\n\n- If a solution exists, then the answer is the count of set bits in `n` in excess of the count of set bits in `k`.\n```\nclass Solution:\n    def minChanges(self, n: int, k: int) -> int:\n\n        if n & k != k: return -1\n        \n        return n.bit_count() - k.bit_count()\n```\n[https://leetcode.com/problems/number-of-bit-changes-to-make-two-integers-equal/submissions/1328646040/](https://leetcode.com/problems/number-of-bit-changes-to-make-two-integers-equal/submissions/1328646040/)\n\nI could be wrong, but I think that time complexity is *O*(1) and space complexity is *O*(1).
['Python3']