Google Interview Question: Given US denomination coins, ... | Glassdoor

Interview Question

Senior Engineering Management Interview Mountain View, CA

Given US denomination coins, what is the algorithm to make

  change for any amount?

Interview Answer

3 Answers


Greedy algorithm will work in this case

Interview Candidate on Feb 29, 2012

Code is in JAVA :

public class USCoins
    public static void main(String args[])
        int[] coinDenominations = {25,10,5,1};
        double totalAmountInDollars = 3.46;
        int[] numberOfEachCoin = getNumber(coinDenominations,totalAmountInDollars);
        for(int number : numberOfEachCoin)

    private static int[] getNumber(int[] coinDenominations, double totalAmountInDollars) {
        int numberOfEachCoin[] = new int[coinDenominations.length];
        int totalAmountInCents = (int) (totalAmountInDollars*100);
        for(int i=0;i<coinDenominations.length;i++)
            int denomination = coinDenominations[i];
            numberOfEachCoin[i] = totalAmountInCents/denomination;
            totalAmountInCents = totalAmountInCents%denomination;
        return numberOfEachCoin;

someguy on Mar 1, 2012

Inspired by this problem, I have proposed a solution that print out all possible change combinations per given amount.
I demo the problem solving process in this video:

Anonymous on Mar 19, 2012

Add Answers or Comments

To comment on this, Sign In or Sign Up.