Monday, August 24, 2015

LIKE CODING: MJ [17] LED clock



LIKE CODING: MJ [17] LED clock
Consider a LED clock. Eg., 06:30 is displayed by an array of LEDs as 110:11110. Note that the clock only needs 10 LEDs since the maximum hour is 12 (1100) and the maximum minute is 60 (111100). Write program to print all times which turns on n LEDs.

    bool valid(vector<int> led){
        return (toBin(led, 0, 3)<=12 && toBin(led, 4, 9)<=60);
    }
    int toBin(vector<int> led, int s, int e){
        int res = 0;
        for(int i=s; i<=e; ++i){
            res <<= 1;
            res |= led[i];
        }
        return res;
    }
    void bt(int n, vector<int> led, int count, int pos, vector<vector<int>> &ret){
        if(count==n && valid(led)){
            ret.push_back(led);
        }else if(pos<10 && count<n){
            for(int i=pos; i<10; ++i){
                led[i] = 1;
                bt(n, led, count+1, i+1, ret);
                led[i] = 0;
            }
        }
    }
    vector<vector<int>> getLEDs(int n){
        vector<vector<int>> ret;
        vector<int> led(10, 0);
        bt(n, led, 0, 0, ret);
        return ret;
    }
Read full article from LIKE CODING: MJ [17] LED clock

Labels

Review (572) System Design (334) System Design - Review (198) Java (189) Coding (75) Interview-System Design (65) Interview (63) Book Notes (59) Coding - Review (59) to-do (45) Linux (43) Knowledge (39) Interview-Java (35) Knowledge - Review (32) Database (31) Design Patterns (31) Big Data (29) Product Architecture (28) MultiThread (27) Soft Skills (27) Concurrency (26) Cracking Code Interview (26) Miscs (25) Distributed (24) OOD Design (24) Google (23) Career (22) Interview - Review (21) Java - Code (21) Operating System (21) Interview Q&A (20) System Design - Practice (20) Tips (19) Algorithm (17) Company - Facebook (17) Security (17) How to Ace Interview (16) Brain Teaser (14) Linux - Shell (14) Redis (14) Testing (14) Tools (14) Code Quality (13) Search (13) Spark (13) Spring (13) Company - LinkedIn (12) How to (12) Interview-Database (12) Interview-Operating System (12) Solr (12) Architecture Principles (11) Resource (10) Amazon (9) Cache (9) Git (9) Interview - MultiThread (9) Scalability (9) Trouble Shooting (9) Web Dev (9) Architecture Model (8) Better Programmer (8) Cassandra (8) Company - Uber (8) Java67 (8) Math (8) OO Design principles (8) SOLID (8) Design (7) Interview Corner (7) JVM (7) Java Basics (7) Kafka (7) Mac (7) Machine Learning (7) NoSQL (7) C++ (6) Chrome (6) File System (6) Highscalability (6) How to Better (6) Network (6) Restful (6) CareerCup (5) Code Review (5) Hash (5) How to Interview (5) JDK Source Code (5) JavaScript (5) Leetcode (5) Must Known (5) Python (5)

Popular Posts