算法题(4)

简介: 算法题(4)

题目

给定一副牌,每张牌上都写着一个整数。
此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:
每组都有 X 张牌。
组内所有的牌上都写着相同的整数。
仅当你可选的 X >= 2 时返回 true。
链接:https://leetcode.cn/problems/x-of-a-kind-in-a-deck-of-cards

解题

function(deck) {
   
    if(deck.length <=1){
   
        return false;
    }
    let len = deck.length;
    let flag = true;
    let arr = [];
    deck.sort();
    for(let i=2;i<=len;i++){
   
        arr = [];
        flag = true;
        let count = deck.length/i;
        //是整数再循环
        if(String(count).indexOf('.') ===-1){
   
            for(let j=0;j<count;j++){
   
              let item = deck.slice(j*i,j*i+i);
              arr.push(item);
          }
          //判断arr里面里面的每一项是否都相等
          for(let k=0;k<arr.length;k++){
   
              if(new Set(arr[k]).size !==1){
   
                flag = false;
                break;
              }
          }
          if(flag){
   
            return true;
          }
       } 
    }
    return false;
};

解析

1:按题目如果数组的数量小于2,则返回false。
2:把数组分组,可以分成的情况是2-数组的长度。
3:然后分别讨论这些情况,例如按2的长度把数组分组。如果数组的长度可以不能按2进行平均分,那么就不符合要求,重复下上个操作。如果符合操作,那么就开始给数组分组。
4:分组结束后,再判断数组中的每一项是否都相等。

相关文章
|
前端开发 程序员 API
前端反卷计划-组件库-05-Menu组件开发
前端反卷计划-组件库-05-Menu组件开发
304 2
|
5月前
|
前端开发 开发者
如何计算选择器的权重
如何计算选择器的权重
472 137
|
7月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2025 年 8 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
527 152
|
12月前
|
机器学习/深度学习 JavaScript PyTorch
9个主流GAN损失函数的数学原理和Pytorch代码实现:从经典模型到现代变体
生成对抗网络(GAN)的训练效果高度依赖于损失函数的选择。本文介绍了经典GAN损失函数理论,并用PyTorch实现多种变体,包括原始GAN、LS-GAN、WGAN及WGAN-GP等。通过分析其原理与优劣,如LS-GAN提升训练稳定性、WGAN-GP改善图像质量,展示了不同场景下损失函数的设计思路。代码实现覆盖生成器与判别器的核心逻辑,为实际应用提供了重要参考。未来可探索组合优化与自适应设计以提升性能。
1028 7
9个主流GAN损失函数的数学原理和Pytorch代码实现:从经典模型到现代变体
|
人工智能 计算机视觉
RT-DETR改进策略【损失函数篇】| NWD损失函数,提高小目标检测精度
RT-DETR改进策略【损失函数篇】| NWD损失函数,提高小目标检测精度
1061 5
RT-DETR改进策略【损失函数篇】| NWD损失函数,提高小目标检测精度
|
数据采集 缓存 负载均衡
动态HTTP代理与静态HTTP代理的区别及HTTP代理的常见用途与类型
HTTP代理在网络通信中扮演重要角色,优化数据传输并提供隐私保护和访问控制。本文对比动态与静态HTTP代理,探讨其特点、优劣势及适用场景。静态代理地址固定,适合稳定环境;动态代理灵活切换服务器,增强隐私保护。此外,介绍HTTP代理的常见用途(如缓存加速、匿名浏览、绕过限制等)及类型(透明、普匿、匿名、高匿、正向、反向代理),帮助用户根据需求选择合适的代理方式。最后提醒用户遵守法律法规,确保安全使用。
429 1
|
存储 NoSQL 算法
【C语言】《C语言基础指南!》- 史上最全!
通过上述内容,你可以对 C语言 的基础知识有一个全面的了解。包括程序结构、数据类型、变量和常量、控制结构、函数、数组和字符串、结构体和联合、枚举和联合、预处理器指令、动态内存分配、文件操作、错误处理、编译器选项、调试和优化、C语言的标准库、编程技巧以及编程习惯等方面的详细讲解。希望这些内容能帮助你更好地理解和使用 C语言。
3190 5
|
人工智能 机器人 API
一键打造你的专属钉钉AI助手
【8月更文挑战第7天】一键打造你的专属钉钉AI助手
1068 15
一键打造你的专属钉钉AI助手
|
SQL 分布式计算 监控
Flume学习--1、Flume概述、Flume入门、(一)
Flume学习--1、Flume概述、Flume入门、(一)
|
存储 Java 图形学
UNITY性能优化☀️一、GC介绍与Unity内存管理方法
UNITY性能优化☀️一、GC介绍与Unity内存管理方法

热门文章

最新文章