题解 | #掷骰子游戏#

掷骰子游戏

http://www.nowcoder.com/practice/7b543bee3dc14c49a7b340b2e04209ce

题意整理。

  • 要求生成一个[1,6]之间的随机整数。

方法一(利用random的nextInt()方法)

1.解题思路

  • 首先通过random.nextInt(6)获取[0,6)之间的随机整数,即[0,5]之间的随机整数。
  • 然后加1,即可得到[1,6]之间的随机整数。

动图展示:

alt

2.代码实现

import java.util.Random;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextInt()) {
            int seed = scanner.nextInt();
            Random random = new Random(seed);
            
            //通过random.nextInt(6)获取[0,6)之间的随机整数,然后加1,即可得到[1,6]之间的随机整数
            System.out.println(random.nextInt(6)+1);

        }
    }

}

3.复杂度分析

  • 时间复杂度:只需调用一次Random的nextInt(),所以时间复杂度为O(1)O(1)
  • 空间复杂度:不需要额外的空间,所以空间复杂度为O(1)O(1)
xqxls的题解 文章被收录于专栏

牛客题解

全部评论

相关推荐

11-27 17:35
已编辑
蚌埠坦克学院 C++
深信服 后台开发 n×12
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
1
分享
牛客网
牛客企业服务