Bulls and Cows | richdalgo



Bulls and Cows | richdalgo

Bulls and Cows The problem description is not ideal. Both bulls and cows are defined for "pair", which is a pair of identical digit from secret and guess. For example, there is a pair of '1' that is not matching in "1234" and 0111″, hence the result is 0A1B. Whilst in "1122" and "2211", there are 2 pairs of '1's and 2 pairs '2's. Because the 2 '1's and 2 '2's are not matching pairs, we have 4 bulls. class Solution(object): def getHint(self, secret, guess): digits = [0 for x in range(10)] bulls = cows = 0 for index, secret_digit in enumerate(secret): guess_digit = guess[index] if guess_digit == secret_digit: bulls += 1 else: a, b = int(secret_digit), int(guess_digit) if digits[b] > 0: cows += 1 if digits[a] < 0: cows += 1 digits[a] += 1 digits[b] -= 1 return '{}A{}B'.format(bulls, cows) Share this: Enter your comment here... Fill in your details below or click an icon to log in: Email (required) (Address never made public) Name (required) You are commenting using your WordPress.

Read full article from Bulls and Cows | richdalgo


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts