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

上海网站建设公司怎么分辨好坏装饰

上海网站建设公司怎么分辨好坏,装饰,浏览有关小城镇建设的网站 记录,江西智能网站建设哪家好给你一个下标从 0 开始的整数数组 nums 和一个正整数 k 。 你可以对数组执行以下操作 任意次 : 选择数组里的 任意 一个元素,并将它的 二进制 表示 翻转 一个数位,翻转数位表示将 0 变成 1 或者将 1 变成 0 。 你的目标是让数组里 所有 元素…

给你一个下标从 0 开始的整数数组 nums 和一个正整数 k 。

你可以对数组执行以下操作 任意次 :

选择数组里的 任意 一个元素,并将它的 二进制 表示 翻转 一个数位,翻转数位表示将 0 变成 1 或者将 1 变成 0 。
你的目标是让数组里 所有 元素的按位异或和得到 k ,请你返回达成这一目标的 最少 操作次数。

注意,你也可以将一个数的前导 0 翻转。比方说,数字 (101)2 翻转第四个数位,得到 (1101)2 。

示例 1:

输入:nums = [2,1,3,4], k = 1
输出:2
解释:我们可以执行以下操作:

  • 选择下标为 2 的元素,也就是 3 == (011)2 ,我们翻转第一个数位得到 (010)2 == 2 。数组变为 [2,1,2,4] 。
  • 选择下标为 0 的元素,也就是 2 == (010)2 ,我们翻转第三个数位得到 (110)2 == 6 。数组变为 [6,1,2,4] 。
    最终数组的所有元素异或和为 (6 XOR 1 XOR 2 XOR 4) == 1 == k 。
    无法用少于 2 次操作得到异或和等于 k 。
    示例 2:

输入:nums = [2,0,2,0], k = 0
输出:0
解释:数组所有元素的异或和为 (2 XOR 0 XOR 2 XOR 0) == 0 == k 。所以不需要进行任何操作。

提示:

1 <= nums.length <= 105
0 <= nums[i] <= 106
0 <= k <= 106

先求出数组中所有数字的异或和,然后看看与k差几位即可:

class Solution {
public:int minOperations(vector<int>& nums, int k) {int xorRes = 0;for (int num : nums){xorRes ^= num;}int diff = xorRes ^ k;int ans = 0;while (diff){++ans;diff = diff & (diff - 1);}return ans;}
};

如果nums的长度为n,则此算法时间复杂度为O(n),空间复杂度为O(1)。

http://www.yayakq.cn/news/916482/

相关文章:

  • 广东建设执业资格注册中心网站网站开发和网络设计有什么区别
  • 网站开发多用什么语言还有什么类型的网站
  • wordpress免费企业主题网站模板中国十大做网站公司排名
  • 30天网站建设 视频wordpress dux主题破解安装
  • 网站建设与网页制作案例asp类似wordpress
  • 网站背景色搭配徐州做网站的设计师
  • 廊坊网站搜索优化ui培训学费
  • 中山市西区建设局网站页游小游戏
  • 查网站备案成都景观设计公司排名
  • 什么网站上可以做国际贸易wordpress移动排版xiu
  • 美食网站的建设wordpress产品轮播
  • 建设银行网站在哪里修改支付密码cent7安装wordpress
  • 购物网站需求分析报告wordpress标签文章置顶
  • 影视公司网站设计天元建设集团坑人
  • 郑州制作个人网站网页站点设计
  • 做刷单网站违法吗网站建设 小白
  • 优度网站建设网站编程需要什么语言
  • 网站建设内容大全湖南省建设工程施工合同示范文本
  • 24小时学会网站建设下载ps设计网站
  • 做网站设计的网站百度指数网址
  • 视频网站做视频节目赚钱吗成都企业网站设计制作
  • 云南网站设计平台上海网站制作公司哪家
  • 沈阳企业网站建站现在做网站到底需要多少钱
  • 什么平台做网站常德网站建设哪家快
  • 建设网站免费国内重大新闻20条
  • 无锡市梁溪区建设局网站龙岗二职
  • 网站运营年度推广方案wordpress文章内容乱码
  • 外国平面设计网站有哪些怎么修改wordpress主题字体大小
  • 农业展示网站模板下载html5 网站开发定制
  • 网站 建设的必要性建筑设计网站模板