题解 | #掷骰子游戏#

掷骰子游戏

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

题目的主要信息:

  • 每次运行程序时,输入一个随机种子,产生一个[1,6][1,6]之间的随机整数

具体做法:

输入的随机种子不是随机数,但是会用该随机种子进行算法。因此在Random类中seed是一个参数,用于生成伪随机数,因为范围是1-6,但是伪随机数生成是0~n-1,因此末尾需要再加1.

alt

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); //用随机种子进行随机算法
            System.out.println(random.nextInt(6) + 1); //随机生成1-6地数字
        }
    }

}

复杂度分析:

  • 时间复杂度:O(1)O(1),直接计算,常数时间
  • 空间复杂度:O(1)O(1),无额外空间,常数空间
孤帆远影碧空尽 文章被收录于专栏

牛客网各类题单题解~

全部评论
java当中都是遵循“左闭右开”的,所以参数6 表示的范围是 [0,6)
2 回复 分享
发布于 2023-11-24 15:13 河北

相关推荐

程序员花海_:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
10-29 18:20
济南大学 Java
用微笑面对困难:他不是人事吗,怎么净特么不干人事
点赞 评论 收藏
分享
评论
14
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务