相关文章推荐
不拘小节的瀑布  ·  世界银行原副行长兼首席经济学家林毅夫访问西安 ...·  1 月前    · 
飘逸的登山鞋  ·  古风圈周杰伦-哔哩哔哩_Bilibili·  2 月前    · 
豁达的小马驹  ·  天地一农人(报告文学) _光明网·  1 年前    · 
耍酷的皮带  ·  第17话-穿越之造星记-漫画牛·  2 年前    · 
闯红灯的煎鸡蛋  ·  800G光模块赛道开启_传输·  2 年前    · 
Code  ›  C++ 求矩阵的秩开发者社区
c++ 矩阵 程序员 矩阵的秩
https://cloud.tencent.com/developer/article/2080187
老实的梨子
1 年前
全栈程序员站长

C++ 求矩阵的秩

前往小程序,Get 更优 阅读体验!
立即前往
腾讯云
开发者社区
文档 建议反馈 控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
全栈程序员站长
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
社区首页 > 专栏 > C++ 求矩阵的秩

C++ 求矩阵的秩

作者头像
全栈程序员站长
发布 于 2022-08-23 18:00:59
600 0
发布 于 2022-08-23 18:00:59
举报
文章被收录于专栏: 全栈程序员必看 全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

网易笔试题:混合颜料

下面

  1. int getNumOfLeastColors(set< int >& colorSet) { // 求二进制矩阵的秩,即消元,最后看斜对角线上有几个 1 的方法,就是求矩阵的秩

你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料。为了让问题简单,我们用正整数表示不同颜色的颜料。你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买一些颜料,但是商店不能保证能供应所有颜色的颜料,所以你需要自己混合一些颜料。混合两种不一样的颜色A和颜色B颜料可以产生(A XOR B)这种颜色的颜料(新产生的颜料也可以用作继续混合产生新的颜色,XOR表示异或操作)。本着勤俭节约的精神,你想购买更少的颜料就满足要求,所以兼职程序员的你需要编程来计算出最少需要购买几种颜色的颜料? 输入描述: 第一行为绘制这幅画需要的颜色种数n (1 ≤ n ≤ 50) 第二行为n个数xi(1 ≤ xi ≤ 1,000,000,000),表示需要的各种颜料. 输出描述: 输出最少需要在商店购买的颜料颜色种数,注意可能购买的颜色不一定会使用在画中,只是为了产生新的颜色。 4096 8192 16384 32768 65536 131072 262144 524288 1048576 16 32 64 128 256 512 1024 2048 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 999999999 1000000000 15 输出例子:

27

思路:将所有的数二进制展开,构成一个矩阵,通过消元只保留对角线上 1,即求矩阵的秩,最后得到 1 的个数即秩的大小,也就是最少需要的颜色数。

C++实现:

[cpp]

 
推荐文章
不拘小节的瀑布  ·  世界银行原副行长兼首席经济学家林毅夫访问西安交大-西安交通大学新闻网
1 月前
飘逸的登山鞋  ·  古风圈周杰伦-哔哩哔哩_Bilibili
2 月前
豁达的小马驹  ·  天地一农人(报告文学) _光明网
1 年前
耍酷的皮带  ·  第17话-穿越之造星记-漫画牛
2 年前
闯红灯的煎鸡蛋  ·  800G光模块赛道开启_传输
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号