zoukankan      html  css  js  c++  java
  • LeetCode 914卡盘分组

    看了官方题解如下:

    class Solution {
        public boolean hasGroupsSizeX(int[] deck) {
            int N = deck.length;
            int[] count = new int[10000];
            for (int c: deck)
                count[c]++;
    
            List<Integer> values = new ArrayList();
            for (int i = 0; i < 10000; ++i)
                if (count[i] > 0)
                    values.add(count[i]);
    
            search: for (int X = 2; X <= N; ++X)
                if (N % X == 0) {
                    for (int v: values)
                        if (v % X != 0)
                            continue search;
                    return true;
                }
    
            return false;
        }
    }
    

    我一直在想,如果使用C语言怎么实现 vues.add(count[i]) 这一步,也就是将count[i] > 0 的这一部分存下来,后来参考了其他人的题解写出的C语言的代码,发现真的需要将这些过滤出来么,我不过滤直接进行遍历不是也是可以的么?

    bool hasGroupsSizeX(int* deck, int deckSize){
        if (deckSize <= 1) {
             return false;
         }
         
         int i,X;
         int N = deckSize;
         
         int count[10000] = {0};
    
         for (i = 0;i < deckSize;i++) {
             count[deck[i]]++;
         }
    
         for (X = 2;X <= deckSize;X++) {
             if (N % X == 0) {
                 bool flag = 1;
    
                 for (i = 0;i < deckSize;i++) {
                     if (count[i] > 0 && count[i] % X != 0) {
                         flag = 0;
                         break;
                     }
                 }
    
                 if (flag) {
                     return true;
                 }
             }
         }
         return false;
    }
    

    通过这个实现,我发现我们有时候一直在思考怎么实现A,难道我们真的需要A么,没有A就不可以么,我们直接使用B可以么?好像这个就是我们经常会遇见的X,Y问题,真正要解决的问题是X,问了很多关于Y的问题,思维陷阱,所以我们思考问题的时候一定要跳出来。

  • 相关阅读:
    Delphi String的散漫记录,真是知识无数,陷阱无数(转)
    GB2312 编码
    Windows系统字体与文件对照表
    Windows字符集的统一与转换
    Delphi 的绘图功能[10]
    各种字符集和编码详解
    NTC热敏电阻参数
    Spring Cloud 学习笔记(一)——入门、特征、配置
    上坡路定点停车与坡道起步
    网闸结构和工作原理
  • 原文地址:https://www.cnblogs.com/zhangpengfei5945/p/12584744.html
Copyright © 2011-2022 走看看