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

网站制作文章新网站如何做排在前面

网站制作文章,新网站如何做排在前面,建设电商网站,推动高质量发展的必然要求3022. 给定操作次数内使剩余元素的或值最小 - 力扣(LeetCode) 拆位 n个数进行或运算的结果最小,每次操作可以对相邻的两个数进行与运算,至多进行k次操作 n个数进行或运算,可以对每个数进行拆解,拆解成最小…

3022. 给定操作次数内使剩余元素的或值最小 - 力扣(LeetCode)
image.png
拆位
n个数进行或运算的结果最小,每次操作可以对相邻的两个数进行与运算,至多进行k次操作
n个数进行或运算,可以对每个数进行拆解,拆解成最小的bit后再进行或运算
比如,2,4,3进行或运算
2:0 1 0
4:1 0 0
3:0 1 1
本来是010 | 100 | 011,拆解后:(0 | 1 | 0) + (1 | 0 | 1) + (0 | 1 | 1)
从高到低对每个数bitwei进行或运算

回到题目,要使最后的运算结果最小,就要从高到低尽可能地使每个bit位为0
从高到低的过程中,若确定了某一位的运算结果能为0,之后的考虑便要带上可能为0的这一位

思路就是这样,具体实现比较难,有些考验代码能力

class Solution {
public:int minOrAfterOperations(vector<int>& nums, int k) {int n = nums.size();vector<int> a(n);int ans = 0, mask = 0;for (int i = 31; i >= 0; -- i){for (int j = 0; j < n; ++ j)a[j] = (nums[j] & mask) | (nums[j] & (1 << i));bool zero = false, flag = true;int cnt = 0;for (int j = 0; j < n; ++ j) {int t = 0, cur = a[j];while (j < n && (cur &= a[j])) j ++ , t ++ ;if (j == n && t && zero == false) flag = false;else cnt += t;zero = true;}if (!flag || cnt > k) ans |= (1 << i);else mask |= (1 << i);}return ans;}
};
http://www.yayakq.cn/news/280195/

相关文章:

  • 学平面设计怎么样啊seo短视频加密路线
  • 网站搜索引擎怎么做h5网站建设作用
  • 网站建设分几模块四川seo推广公司
  • 郑州修了你官方网站微网站开发价格
  • 做网站的客户哪里找seo发帖工具
  • 成都网站建设 招聘网站推广软件ky99
  • 达内网站开发培训wordpress插件盗版
  • 做网站需要前置审批wordpress 获取用户角色
  • 黄冈网站推广都有哪些渠道二级网站建设 管理思路
  • 珠海医疗网站建设公司网站托管工作室
  • 专业零基础网站建设教学服务茶叶网站程序
  • 部门网站建设个人总结wordpress 播放
  • 网站可信度太平洋建设官方网站
  • 广东网站建设公司968建个个人网站一年多少钱
  • 南阳做网站多少钱域名注册流程
  • 三明企业网站建设公司广告设计公司的起名
  • 做网站前的准备什么重庆本地生活网
  • 订制网站百度关键词排名快速排名
  • 食品网站建设策划网站模板自建站
  • 如何建设网站论坛重庆企业建站程序
  • 买的有域名怎么做网站企业做可信网站认证的好处
  • 建设部网站上就能查北京南站地图
  • 科技公司企业网站建设中国住房城乡建设部网站
  • soho网站建设免费推广方式
  • 手机网站建设行业分析深圳宝安区很穷吗
  • 关于asp.net的网站模板分公司注册
  • 台州网站搜索引擎优化合肥房产网官网
  • 网站怎么做支付宝支付接口泰安做网站哪里好
  • 做设计的一般在什么网站找素材做网站的图片大全
  • 织梦网站logo怎么换注册工程公司名称大全