Java-数据结构-随机数生成

本文介绍了Java中三种随机数生成方法:new Random(), Math.random()和currentTimeMillis(),并详细讲解了如何将它们应用于实际场景,如LeetCode的398题——随机数索引,解决从含有重复元素的数组中随机选择索引的问题。" 124490587,8062566,三维重建:SVD求解旋转平移变换,"['计算机视觉', '三维重建', '算法', 'OpenCV', 'Matlab']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 随机数生成方法

(1)new Random()

   Random r = new Random();

   r.nextInt(100);//生成0-100内的随机数

(2)Math.random()

       范围在 [0,1),如需要整型需要转成int使用

(3)currentTimeMillis()

long型,需要取余,也就是对随机数的范围取,比如(0-100),先%100,再转int

二. 随机数应用(leetcode实战) 

398. 随机数索引

给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引。 您可以假设给定的数字一定存在于数组中。

class Solution {
    HashMap<Integer,List<Integer>> map = new HashMap<>();
    public Solution(int[] nums) {   
        for(int i = 0; i < nums.length; i++){
            if(!map.containsKey(nums[i])){
                List<Integer> list = new ArrayList<>();
                list.add(i);
              
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值