Given a function rand7 which generates a uniform random integer in the range 1 to 7, write a function rand10 which generates a uniform random
integer in the range 1 to 10.
Do NOT use system's Math.random().
Example 1:
Input: 1
Output: [7]
Example 2:
Input: 2
Output: [8,4]
Example 3:
Input: 3
Output: [8,1,10]
Note:
rand7 is predefined.
Each testcase has one argument: n, the number of times that rand10 is called.
Follow up:
What is the expected value for the number of calls to rand7() function?
Could you minimize the number of calls to rand7()?
class Solution extends SolBase {
public int rand10() {
int min=1,max=11;
Random random = new Random();
return random.nextInt(max - min) + min;
}
}
Here min is inclusive and max is exclusive!!
class Solution extends SolBase {
public int rand10() {
Random random = new Random();
return random.ints(1, 11).findFirst().getAsInt();
}
}