鼠扑 发表于 2024-12-23 13:16:20

每日一题 338. 比特位计数

338. 比特位计数

难点是发现规律
class Solution {
public:
    vector<int> countBits(int n) {
      
      vector<int> dp(n+1,0);
      if(n <=0)
      {
            return dp;
      }
      dp = 1;
      if(n == 1)
      {
            return dp;
      }
      int bin = 0;
      for(int i=2;i<=n;++i)
      {
            int base = getBinary(i);
            dp = dp + 1;
      }
      return dp;
    }

    int getBinary(int num)
    {
      int ret = 0;
      while( num != 0)
      {
            num= num >> 1;
            ++ret;
      }
      return ret-1;
    }
};

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 每日一题 338. 比特位计数