public int getRepresentByUniqueTwo(int num) {         //找到num最多可以用多少个二进制数表示         int k = 0, cur = 1;         while (num >= cur << k) {             k++;         }         return getRepresentByUniqueTwo(num, cur << (k - 1));     }     private int getRepresentByUniqueTwo(int num, int cur) {         if (num < 0) return 0;         if (num == 0) return 1;         if (cur == 0) return 0;         return getRepresentByUniqueTwo(num, cur >> 1) +                 getRepresentByUniqueTwo(num - cur, cur >> 1) +                 getRepresentByUniqueTwo(num - cur * 2, cur >> 1);     } @个人练习生,喜欢喊6,摸鱼,offer,求带挖洞~  不知道这样写对不对
点赞 评论

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务