算法题(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:分组结束后,再判断数组中的每一项是否都相等。

相关文章
|
27天前
|
自然语言处理 算法 BI
Baum-Welch算法
Baum-Welch算法是一种用于隐马尔可夫模型(HMM)的训练算法,通过期望最大化(EM)框架迭代估计模型参数,直至收敛。该算法主要应用于语音识别、生物信息学和自然语言处理等领域,通过优化初始状态概率、状态转移概率和观测概率,提高模型对观测数据的拟合度。尽管存在局部最优和计算复杂性等挑战,但仍是HMM参数估计的重要工具。
|
3月前
|
算法
算法题(2)
算法题(2)
32 3
|
7月前
|
算法 定位技术
Hello 算法
Hello 算法
238 0
|
传感器 人工智能 算法
图象处理算法(介绍)
图象处理算法(介绍)
|
算法
算法
一、算法 常见的图查找算法包括: 1. 深度优先搜索(DFS):从图中的一个节点开始,沿着一条路径一直深入直到无法再深入为止,然后回溯到上一个节点,继续深入其他路径,直到找到目标节点或遍历完所有节点。 2. 广度优先搜索(BFS):从图中的一个节点开始,先访问它的所有邻居节点,然后再依次访问邻居的邻居节点,直到找到目标节点或遍历完所有节点。 3. Dijkstra算法:用于在带权有向图中找到从一个节点到其他节点的最短路径。该算法通过不断更新节点的最短距离来逐步找到最短路径。 4. A*算法:类似于Dijkstra算法,但在计算最短路径时加入了启发式函数,用于估计目标节点的距离,从而加速搜索过程
399 0
|
算法
Warshall算法
Warshall算法
258 0
Warshall算法
|
存储 算法 搜索推荐
C#算法大全(上)
今天有人想让我搞一期C#算法大全。算法就算法,安排上!
|
算法
算法练习——(2)逢7过
中国朋友们聚会时喜欢玩"逢7过"的游戏,老外有个同样的游戏,FlipFlop,它从1计数到100,顺序输出。当遇到3的倍数就要说“Flip”,遇到5的倍数就要说“Flop”,既为3的倍数又为5的倍数则要说“FlipFlop”,说错的话表演节目或罚酒。
197 0
|
算法
【算法之初步认识】
【算法之初步认识】
150 0
【算法之初步认识】
拓展欧几里得算法
拓展欧几里得算法
97 0
下一篇
DataWorks