首页 > 其他分享 >全组合判断

全组合判断

时间:2025-01-11 09:01:42浏览次数:6  
标签:Set const 组合 keys fieldMap 字段 判断 datas

function isFullCombination(datas) {
  if (datas.length === 0) {
    return false;
  }
  const keys = Object.keys(datas[0]);
  const entries = keys.map((k) => [k, new Set()]);
  const fieldMap = new Map(entries);
  //Map(3) { '字段1' => Set(0) {}, '字段2' => Set(0) {}, '字段3' => Set(0) {} }
  const serializedSet = new Set();
  for (const data of datas) {
    const serialized = JSON.stringify(data)
    if(serializedSet.has(serialized)){
        return false
    }
    serializedSet.add(serialized)
    for (const key of keys) {
        const value = data[key]
        fieldMap.get(key).add(value);
    }
  }
//   console.log(fieldMap.values());
  
  const n1 = [...fieldMap.values()].reduce((a,b)=>a*b.size,1)
  const n2 = datas.length
  return  n2 === n1
}
const inputData = [
  { 字段1: "甲", 字段2: "a", 字段3: 1 },
  { 字段1: "甲", 字段2: "a", 字段3: 2 },
  { 字段1: "甲", 字段2: "a", 字段3: 3 },
  { 字段1: "甲", 字段2: "b", 字段3: 1 },
  { 字段1: "甲", 字段2: "b", 字段3: 2 },
  { 字段1: "甲", 字段2: "b", 字段3: 3 },
  { 字段1: "乙", 字段2: "a", 字段3: 1 },
  { 字段1: "乙", 字段2: "a", 字段3: 2 },
  { 字段1: "乙", 字段2: "a", 字段3: 3 },
  { 字段1: "乙", 字段2: "b", 字段3: 1 },
  { 字段1: "乙", 字段2: "b", 字段3: 2 },
  { 字段1: "乙", 字段2: "b", 字段3: 3 },
];
console.log(isFullCombination(inputData));

  

标签:Set,const,组合,keys,fieldMap,字段,判断,datas
From: https://www.cnblogs.com/Gawainehzh/p/18665140

相关文章

  • uml 中 继承 实现 依赖 组合 等表示方法
    在UML(统一建模语言)中,不同的关系类型使用不同的箭头和线条来表示。以下是常见的UML关系及其对应的表示方法:1. 继承(Inheritance)表示:空心三角形箭头+实线方向:箭头指向父类(基类)说明:表示一个类继承自另一个类。示例: 复制[子类]——▷[父类]2. 实现......
  • 排列组合
    一、递推法求组合数——模板题AcWing885.求组合数I//c[a][b]表示从a个苹果中选b个的方案数for(inti=0;i<N;i++)for(intj=0;j<=i;j++)if(!j)c[i][j]=1;elsec[i][j]=(c[i-1][j]+c[i-1][j-1])%mod;二、通过预处理逆元的方式求组......
  • 如何判断 PbootCMS 网站是否容易被黑
    检查URL的鲁棒性正常情况:当您访问一个不存在的页面时,网站应该返回404错误页面。异常情况:如果在URL后面添加任意字符串(如 http://www.xxxxxx.com/news/aaa.bbb),网站仍然能够打开而没有跳转到404错误页面,这表明网站可能存在安全漏洞,容易被黑。测试方法选择一个存......
  • 通过百度搜索判断网站是否已经被黑
    使用百度搜索打开百度搜索,输入 site:www.xxxxxx.com(将 www.xxxxxx.com 替换为您的域名)。查看搜索结果,检查是否包含非法网站内容或与您的网站无关的内容。异常情况如果搜索结果中包含非法网站内容、恶意链接或其他与您的网站无关的内容,说明您的网站可能已经被黑。......
  • G. D-Function 题解 (快速幂, 组合数学)
    原题链接:https://codeforces.com/contest/1985/problem/G题目:思路:要满足D(kn)==kD(n),k与n的每一位相乘都不能发生进位,k只能是一位数。考虑n的位数可能有1e9,所以用到了快速幂。代码:#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintmod......
  • 组合数学
    二项式定理十分重要。二项式里面不一定是\(x+y\),也可能是\(ax+by\),加个快速幂求\(a,b\)在系数里的即可(例)卢卡斯定理用于解决组合数的\(n,m\)太大,但是模数不大的情况模板。若模数也很大并且不是质数,可以将模数分解用卢卡斯定理求,再用中国剩余定理合并。(例)求不定方程解数,给定\(......
  • 多模态深度强化学习在投资组合优化中的应用
    “MultimodalDeepReinforcementLearningforPortfolioOptimization”论文地址:https://arxiv.org/pdf/2412.17293摘要本文介绍了一种针对S&P100股票交易策略优化的深度强化学习框架,该框架结合了多模态数据,如历史股价、情感分析结果以及新闻主题的嵌入。通过融合SEC......
  • 判断推理学习笔记
    判断推理四大题型①图形推理(难)8/10②类比推理③定义判断(10道,不要超过10分钟)④逻辑推理(难)图形推理的命题形式一组图两组图(前组找规律,后组应用规律)九宫格(90%横着看,找规律,验证规律,应用规律;10%竖着看;米字看;S)分组分类(三三一组)空间重构图形推理学习的重点一、图形推理的考......
  • Python----Python基础(元组 tuple,元组的创建,基本操作:访问,连接,索引,计数,长度,最大值,最小值
    一、元组tuple列表属于可变序列,可以任意修改列表中的元素。元组属于不可变序列,不能修改元组中的元素。因此,元组没有增加元素、修改元素、删除元素相关的方法。二、元组的创建 2.1、使用()方式创建元组使用圆括号 () 可以创建一个元组,元素之间用逗号 , 分隔。......
  • python代码实现了一个基于双向LSTM(Long Short-Term Memory)的情感分类模型,用于对IMDB影
    importtorchimporttorch.nnasnnimporttorch.optimasoptimfromtorch.utils.dataimportDataLoaderfromtorchtext.vocabimportGloVefromtorchtext.data.utilsimportget_tokenizerimporttorchtextfromtorchtext.vocabimportbuild_vocab_from_iterato......