LeetCode338比特位计数

作者 : admin 本文共223个字,预计阅读时间需要1分钟 发布时间: 2024-06-10 共2人阅读

题目描述

  给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。

解析

  动态规划,将当前的数的最后一位去掉,然后判断去掉的最后一位是0还是1。

public int[] countBits(int n) {
        int[] res = new int[n + 1];
        // 1101 = 110 + 1 (3 = 2 + 1)
        // 1010 = 101 + 0 (2 = 2 + 0)
        for (int i = 1; i > 1] + (i & 1);
        }
        return res;
    }

LeetCode338比特位计数插图

本站无任何商业行为
个人在线分享 » LeetCode338比特位计数
E-->