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

免费app做logo的网站杭州线上推广

免费app做logo的网站,杭州线上推广,网站单页面怎么做的,wordpress著名案例题目描述 给你一个整数 n &#xff0c;对于 0 < i < n 中的每个 i &#xff0c;计算其二进制表示中 1 的个数 &#xff0c;返回一个长度为 n 1 的数组 ans 作为答案。 示例 代码思路 第一种方法 最简单的方法就是&#xff0c;遍历然后使用python自带的bin()方法直接…

题目描述

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

示例

代码思路

第一种方法

最简单的方法就是,遍历然后使用python自带的bin()方法直接转换为2进制然后用count去数数。

第二种方法

考虑到数的特点,如果该数i为偶数,那么他二进制中1的个数和他i/2的数的1的个数是一样的

那是因为偶数的末尾是0,向右边移动一位,然后就变成i/2,这导致1的数量不变

如果i为奇数,那么它的二进制1的位数=i-1的二进制位数+1

1:奇数二进制末尾为1如果把末尾的1去掉就相当于在原有基础上减1

2:减掉1后,奇数就变成偶数了,而偶数的二进制数又是总和它i/2是相等的,这就进入了递归的环节了。

class Solution(object):def countBits(self, num):res = []for i in range(num + 1):res.append(self.count(i))return resdef count(self, num):if num == 0:return 0if num % 2 == 1:return self.count(num - 1) + 1return self.count(num // 2)

但是这段代码有冗余的地方,因为求到偶数后,要不断递归直至最后一个偶数确定1的个数,而且遍历数值较大的数总是会重复之前已经递归过的数,比如8总会递归4和2,但是4和2已经在4的递归中计算过了,为了加快速度,应该把以前的结果存储起来,然后直接调用就行。

第二种方法的改进

class Solution(object):def countBits(self, num):self.memo = [0] * (num + 1)res = []for i in range(num + 1):res.append(self.count(i))return resdef count(self, num):if num == 0:return 0if self.memo[num] != 0:return self.memo[num]if num % 2 == 1:res = self.count(num - 1) + 1else:res = self.count(num // 2)self.memo[num] = resreturn res

进入count后 判断非0后直接判断是否存在列表里,有的话直接调值。

http://www.ritt.cn/news/17199.html

相关文章:

  • 网站开发+百度编辑器云搜索神器
  • 哪个网站做网上旅社预定四川刚刚发布的最新新闻
  • 大型网站建设公司 北京阿里云搜索
  • 网站建设教程自学网3000行业关键词
  • wordpress页面设置方法seoheuni
  • 网站做优化有几种方式百度网盘电脑版登录入口
  • 手机网站引导页js插件百度下载安装2021最新版
  • 做动态网站的流程图sem分析
  • 化妆品做网站流程湖北网站seo设计
  • 二级a做爰片免费视网站网络舆情分析报告
  • 郑州网站建设公司咨询app推广引流
  • 俄语学习网站教育培训机构报名
  • 网站左右箭头素材关键词工具网站
  • 如何建立自己推广网站推广公司品牌
  • 聊城网站制作需要多少钱西安关键词优化服务
  • 网站排名软件seo课程培训视频
  • 成都做整站优化百度关键词怎么设置
  • 各大企业邮箱长沙百度推广排名优化
  • 在线生成个人网站推荐龙岩网站推广
  • 网站建设自己google推广及广告优缺点
  • 手机wap建站平台交易网
  • 福州鼓楼区网站建设西安高端网站建设公司
  • 美橙云建站外贸展示型网站建设公司
  • wordpress 首页编辑百度seo排名培训优化
  • 昌平b2c网站制作价格企业网络营销推广案例
  • 做学校网站seo专员招聘
  • 网站建设安全要求班级优化大师app
  • 做网站开发很赚钱吗网站网页设计
  • iis默认网站建设中搜索引擎大全全搜网
  • 做网站Linux在线工具网站