zoukankan      html  css  js  c++  java
  • LeetCode 902. Numbers At Most N Given Digit Set

    应该是常数 N的位数时间级别

    我的这个方法超时很严重。。。但是特此记录 费劲巴拉写的。。。

    超时:

    int atMostNGivenDigitSet(char** D, int DSize, int N) {
        int *array = (int *)malloc(sizeof(int) * 10);
        for (int i = 0; i < 10; i ++)
            array[i] = 0;
        
        for (int j = 1; j < 10; j ++) {
            
            
            if (j - 1 < DSize) {
                char cc = D[j - 1][0];
                int c = cc - 48;
                array[c] = c;
            }
            //printf("
    %d",array[j]);
        }
        int totalSum = 0;
        for (int i = 1; i <= N; i ++) {
            
            long sum = 0;
            int num =  0;
            int x = i;
            int isFlag = 1;
            while ( x!= 0) {    
                isFlag = 0;
                num = x % 10;  //末尾数字
                sum = sum * 10;//进位
                sum += num;
                x = x / 10;
                if (array[num] == 0) {
                    isFlag = 1;
                    break;
                }
            }
            if (isFlag == 0) {
                totalSum ++;
            }
        }
        free(array);
        return totalSum;
    }
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            // insert code here...
            NSLog(@"Hello, World!
    ");
            //[-2,-1] --->  -1
         
            char *s[] = {"1","3","5","7"};
            int maxNum = atMostNGivenDigitSet(s, 4, 100);
            printf("
    %d
    ",maxNum);
        }
        return 0;
    }
  • 相关阅读:
    获取物料批次特性取值BAPI
    获取域的固定值的函数:DD_DOMVALU…
    CJ20N中对WBS元素执行删除操作时触…
    SM30相关操作
    CL03对应的BAPI(根据类查特性)
    两个数值交换
    char*,string,float,int 转换
    字符串 分割
    C++ 关于I/O
    TCP
  • 原文地址:https://www.cnblogs.com/someonelikeyou/p/9613714.html
Copyright © 2011-2022 走看看