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

qq空间如何发布wordpress西安seo代理

qq空间如何发布wordpress,西安seo代理,长沙网站建设公司有哪些,苏州网络推广公司哪家好. - 力扣(LeetCode) 题目 给你两个正整数 n 和 k。你可以选择 n 的 二进制表示 中任意一个值为 1 的位,并将其改为 0。 返回使得 n 等于 k 所需要的更改次数。如果无法实现,返回 -1。 示例 1: 输入: n …

. - 力扣(LeetCode)

题目

给你两个正整数 n 和 k。你可以选择 n 的 二进制表示 中任意一个值为 1 的位,并将其改为 0。

返回使得 n 等于 k 所需要的更改次数。如果无法实现,返回 -1。

  • 示例 1:
    • 输入: n = 13, k = 4
    • 输出: 2
    • 解释:最初,n 和 k 的二进制表示分别为 n = (1101)2 和 k = (0100)2,我们可以改变 n 的第一位和第四位。结果整数为 n = (0100)2 = k
  • 示例 2:
    • 输入: n = 21, k = 21
    • 输出: 0
    • 解释:n 和 k 已经相等,因此不需要更改。
  • 示例 3:
    • 输入: n = 14, k = 13
    • 输出: -1
    • 解释:无法使 n 等于 k

解题方案

1. 逐位遍历

依次取n和k最后一位,进行比较

  • 如果last_n == last_k, 则不需要修改,继续遍历
  • 如果lask_n != last_k:
    • 如果last_n == 1, last_k == 0, 则需要改变操作,操作数+1
    • 如果last_n == 0, last_k == 1, 则无法通过指定操作使n变成k, 直接返回-1

class Solution:def minChanges(self, n: int, k: int) -> int:if n < k:return -1if n == k:return 0mod = 0while k > 0 or n > 0:last_n = n & 1 # 取n的最后一位last_k = k & 1 # 取k的最后一位n = n >> 1k = k >> 1if last_n == last_k:print(last_n, last_k, n, k, mod)continueelif last_k == 1:return - 1else:mod += 1 print(last_n, last_k, n, k, mod)return mod

分析复杂度

  • 时间复杂度是n和k位数的最大值:O(log \ max(n, k)) 

  • 空间复杂度是O(1)

2. 位操作

如果把n和k的二进制为1的位分别看做一个集合,那么k应该是n的一个子集。

1. 按位或操作,如果操作结果等于k,则n可以通过修改某些位置上1为0得到k;反之则不能,直接返回-1.

2. 已知n可以通过修改某些位置上1为0得到k,接下来进行异或操作(n和k不同的位为1,即需要修改的位为1),统计操作结果中1的位数即可

class Solution:def minChanges(self, n: int, k: int) -> int:return (n ^ k).bit_count() if (n & k) == k else -1

分析复杂度

  • 时间复杂度 O(1)
  • 空间复杂度 O(1) 

 

 

http://www.dinnco.com/news/29362.html

相关文章:

  • 网站备案要交钱吗关键词有哪些关联词
  • 蚌埠做网站建设费用杭州seo网络推广
  • 济南网站建设索q479185700关键词查询的分析网站
  • 网站建设方案及报价单网络优化公司有哪些
  • 网站开发流程抚州新郑网络推广公司
  • 和一起做网店差不多的网站注册域名查询网站官网
  • 企业注册类型新乡seo公司
  • 徐州 商城网站大众点评seo关键词优化
  • 做外围赌球网站的代理赚钱吗广州推广seo
  • 手机商店app下载seo搜索优化是什么
  • 如何制作响应式网站今日头条关键词排名优化
  • 开网络公司做网站挣钱吗石景山区百科seo
  • 网站建设与技术团队百度统计网站
  • 自己做网站如何挣钱海阳seo排名
  • 社区类网站建设独立站搭建要多少钱
  • 建设银行交学费网站淘宝运营培训班
  • 厦门网站建设的公司小红书如何引流推广
  • 有什么专业做蛋糕的网站吗网站维护工作内容
  • 做高端网站公司关键词排名优化公司成都
  • 陕西最新消息sem 优化软件
  • 建设网站的公司广州阿里巴巴运营
  • 给我免费播放电影唐山seo排名优化
  • 网站怎么添加流量互联网宣传推广
  • 能不能模仿百度一样做搜索引擎网站哈尔滨seo和网络推广
  • 南京做网站哪家公司最好免费的b2b平台
  • 100个免费推广网站的排名网页设计与制作软件
  • 网站代码如何导入郑州seo外包顾问
  • 那个网站做创意图比较好关键词搜索引擎排名查询
  • 锚文本外链网站免费广州seo
  • asp做的网站怎么发布seo新手快速入门