最小不兼容性

1,思路不难,感觉第一步是个排列组合,剩下就算差值枚举比较了。
2,mask的长度应该是指的是位数吧?比如8,就8位.
omask是这个意思。
3,这tm也太长了。
12.12
再看
_builtin_popcount()计算二进制中多少个1
GCC里面的内置函数
GCC(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等。) [1]

for (int j = 0; j < n; ++j) {
if (sub & (1 << j)) {
++freq[nums[j]];
}
还是不懂这个
先放着吧

1 <= nums[i] <= nums.length
所以那个判断重复
从j=1开始到j=n结束。

确实用这种块化思维
起码更容易记住了

急于证明自己的可怜人
枚举子集的模板是不是要记忆下
(int a=b;a;a=(a-1)&b))

vector value(1<<n,-1);
for(int sub=0;sub<=(1<<n);sub++)
{
if((mask))
{
for(int j=0;j<n;j

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值