国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

leetcode299. Bulls and Cows

Kross / 2502人閱讀

摘要:題目要求游戲簡單來說就是你隨手寫下一個位數,并讓你同學猜這個數字是什么。第二次再在此基礎上計算重合的值和沒有重合的值的個數。這樣的話,如果下一次遇到重復但是位置不同的值,我們可以知道它是否已經在中或是中出現過。

題目要求
You are playing the following Bulls and Cows game with your friend:
You write down a number and ask your friend to guess what the number is. 
Each time your friend makes a guess, you provide a hint that indicates how many digits in said guess match your secret number exactly in both digit and position (called "bulls") and how many digits match the secret number but locate in the wrong position (called "cows"). 
Your friend will use successive guesses and hints to eventually derive the secret number.

For example:

Secret number:  "1807"
Friend"s guess: "7810"
Hint: 1 bull and 3 cows. (The bull is 8, the cows are 0, 1 and 7.)
Write a function to return a hint according to the secret number and friend"s guess, use A to indicate the bulls and B to indicate the cows. In the above example, your function should return "1A3B".

Please note that both secret number and friend"s guess may contain duplicate digits, for example:

Secret number:  "1123"
Friend"s guess: "0111"
In this case, the 1st 1 in friend"s guess is a bull, the 2nd or 3rd 1 is a cow, and your function should return "1A1B".
You may assume that the secret number and your friend"s guess only contain digits, and their lengths are always equal.

Bulls and Cows游戲簡單來說就是你隨手寫下一個n位數,并讓你同學猜這個數字是什么。假設你的朋友也會猜測一個n位數,他每猜一個數字,你就需要告訴他,猜測的數字中位置正確且值正確的數字(bulls)有幾個,位置不正確但是值不正確的數字(cows)有幾個。

思路與代碼

最開始的時候我通過兩圈遍歷,第一次用一個數組存儲每個數字出現的次數。第二次再在此基礎上計算重合的值和沒有重合的值的個數。但是還有更好的方法,只需要一圈遍歷就可以完成這個過程。

在一圈遍歷中,每當遇到重合值,則bulls的數字加一,否則我們將secret number中的數字計數加1,guess number中的數字計數減一。這樣的話,如果下一次遇到重復但是位置不同的值,我們可以知道它是否已經在secret中或是guess中出現過。

    public String getHint(String secret, String guess){
        int bulls=0,cows=0;
        int[] counter = new int[10];
        int n=secret.length();
        for(int i =0; i0) cows++;
                if(counter[s]<0) cows++;
                counter[s]++;
                counter[g]--;
            }   
        }    
        return bulls + "A" + cows + "B";
    }


想要了解更多開發技術,面試教程以及互聯網公司內推,歡迎關注我的微信公眾號!將會不定期的發放福利哦~

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/68670.html

相關文章

  • [LeetCode] 299. Bulls and Cows

    Problem You are playing the following Bulls and Cows game with your friend: You write down a number and ask your friend to guess what the number is. Each time your friend makes a guess, you provide a ...

    stefan 評論0 收藏0
  • 299. Bulls and Cows

    摘要:題目這里主要是想記錄一下這個很聰明的解法我規規矩矩的解法 題目:You are playing the following Bulls and Cows game with your friend: You write down a number and ask your friend to guess what the number is. Each time your friend...

    hlcc 評論0 收藏0
  • [譯][Tkinter 教程13] Mastermind 游戲

    摘要:已獲原作者授權原系列地址游戲本章我們演示一個進階例子我們用編寫了游戲這個游戲也被稱作或者或者是一個古老的益智解謎游戲由兩名玩家參與早在世紀人們就在用鉛筆和紙來玩這個游戲了在年發明的游戲正是受到這個游戲的啟發和在基本理念上是一樣的但被盒裝出售 已獲原作者授權. 原系列地址: Python Tkinter Mastermind 游戲 本章我們演示一個進階例子. 我們用 Tkinter 編...

    Jaden 評論0 收藏0
  • JS數組:push vs concat

    摘要:使用這么久對于數組的相關方法一直都是拿來就用對于方法更是常用。不過對于多個數組合并的時候因為返回的是新數組,可以鏈式下去。 使用JS這么久, 對于JS數組的相關方法一直都是拿來就用,對于push方法更是常用。但是在一次用到contact方法的時候自問了一句: push和contact到底有哪些區別? 先看下MDN的定義: 【push】:adds one or more element...

    animabear 評論0 收藏0
  • ES6 的模塊系統

    摘要:的模塊系統被設計成讓你可以一次性引入多個變量。動態靜態,或者說規矩和如何打破規矩作為一門動態編程語言,令人驚訝地擁有一個靜態的模塊系統。只要你的需求都是靜態的話,這個模塊系統還是很的。 此文為翻譯,原文地址在這兒:https://hacks.mozilla.org/2015/08/es6-in-depth-modules/ ES6 是 ECMAScript 第 6 版本的簡稱,這是新一...

    MudOnTire 評論0 收藏0

發表評論

0條評論

Kross

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<