当前位置: 首页 > news >正文

建设网站所需材料保健品网站模版

建设网站所需材料,保健品网站模版,个人公司注册流程及需要的材料,企业公司如何做网站❓338. 比特位计数 难度&#xff1a;简单 给你一个整数 n &#xff0c;对于 0 < i < n 中的每个 i &#xff0c;计算其二进制表示中 1 的个数 &#xff0c;返回一个长度为 n 1 的数组 ans 作为答案。 示例 1&#xff1a; 输入&#xff1a;n 2 输出&#xff1a;[0,1,…

❓338. 比特位计数

难度:简单

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

示例 1:

输入:n = 2
输出:[0,1,1]
解释:
0 --> 0
1 --> 1
2 --> 10

示例 2:

输入:n = 5
输出:[0,1,1,2,1,2]
解释:
0 --> 0
1 --> 1
2 --> 10
3 --> 11
4 --> 100
5 --> 101

提示:

  • 0 < = n < = 1 0 5 0 <= n <= 10^5 0<=n<=105

进阶:

  • 很容易就能实现时间复杂度为 O ( n l o g n ) O(n log n) O(nlogn) 的解决方案,你可以在线性时间复杂度 O ( n ) O(n) O(n) 内用一趟扫描解决此问题吗?
  • 你能不使用任何内置函数解决此问题吗?(如,C++ 中的 __builtin_popcount

💡思路:位运算

基础知识必知:一篇文章搞懂位运算 !

对于数字 6(110),它可以看成是 4(100) 再加一个 2(10),因此 dp[i] = dp[i&(i-1)] + 1;

即,使用位运算 去除最低的那一位 1,此时的 dp[i&(i-1)]已经计算过,然后再加上最低为的这个 1

🍁代码:(Java、C++)

Java

class Solution {public int[] countBits(int n) {int[] ans = new int[n + 1];for(int i = 1; i <= n; i++){ans[i] = ans[i & (i - 1)] + 1;}return ans;}
}

C++

class Solution {
public:vector<int> countBits(int n) {vector<int> ans(n + 1);for(int i = 1; i <= n; i++){ans[i] = ans[i & (i - 1)] + 1;}return ans;}
};

🚀 运行结果:

在这里插入图片描述

🕔 复杂度分析:

  • 时间复杂度 O ( n ) O(n) O(n),对于每个整数,只需要 O ( 1 ) O(1) O(1) 的时间计算「一比特数」。
  • 空间复杂度 O ( n ) O(n) O(n),除了返回的数组以外,空间复杂度为常数。

题目来源:力扣。

放弃一件事很容易,每天能坚持一件事一定很酷,一起每日一题吧!
关注我 leetCode专栏,每日更新!

注: 如有不足,欢迎指正!

http://www.15wanjia.com/news/162126.html

相关文章:

  • 注册网站建设公司微信怎么搞小程序
  • 天津做网站优化公司网页设计与网站开发试题答案
  • 南通市建设工程安全监督站网站哈尔滨seo关键字优化
  • 外贸网站页面用什么做最好发布平台是什么
  • 网站建设深圳官网安徽seo网站
  • 全国兼职网站建设平台直播
  • 建立网络专题网站架构昆明猫咪网站建设公司
  • 做外贸英语要什么网站做网站建设有哪些公司
  • 台州建设局招标投标网站免费推广方式
  • 福州做网站外包深圳做网站服务公司
  • 模仿一个网站建设多少钱个人可以做电视台网站吗
  • 可以开发哪些网站珠海网站开发维护科技公司
  • 公司网站设计意见如何做外贸品牌网站建设
  • 商品网站开发乌市网站建设为
  • 禅城技术支持骏域网站建设哪家网站雅虎全球购做的好
  • php高性能网站建设免费制作网站的步骤 怎样做网站
  • 龙华做棋牌网站建设哪家公司便宜乡镇网站模板
  • 成都网站建设爱特通专业的购物网站建设
  • 河源市规划建设局网站抖音代运营协议
  • 做实体店打折信息网站精品课程网站建设 碧辉腾乐
  • 怎么做微信小说网站正规seo需要多少钱
  • 个人公司网站模板怎么做网站设计方案
  • 制作网站的分类如何制作微信小程序商城
  • 网站搭建公司加盟大学生ppt自我介绍幻灯片
  • 潍坊网站建设教程对运营网站有什么见解
  • 网站 seo网站付款链接怎么做的
  • 鲁谷网站建设用ps做网站的首页
  • 河南建站网站电子网站怎么做
  • 网站空间免费 优帮云做网站个人怎么赚钱吗
  • 网站html地图怎么做的成都软件外包开发