求一个按概率从不同数组中取数据的算法

问题描述

有两组数据分别放在两个list里,例如数据A为:{12,33,23,33},数据B为{'233e','w4rrr','erff','dffdd','3eee'}在页面上有一个按钮,点击按钮时随机从一个数组中随机抽取一个数据显示到页面上.要求:从A数据组取出数据的概率是十分之一,即点按钮10次,只有一次从A数据组中取,另九次从B数据组中取,请问怎么实现?

解决方案

解决方案二:
publicObjectget(Listlist1,Listlist2){Randomr=newRandom();if(r.nextInt(10)<1){returnlist1==null&&list1.size()==0?null:list1.get(r.nextInt(list1.size()));}else{returnlist2==null&&list2.size()==0?null:list2.get(r.nextInt(list2.size()));}}

概率只能说是很多次点击之后统计的规律,而不是说点10次就肯定一次去A里面取,9次去B里面去。你对概率的说法有问题。
解决方案三:
引用1楼rumlee的回复:

publicObjectget(Listlist1,Listlist2){Randomr=newRandom();if(r.nextInt(10)<1){returnlist1==null&&list1.size()==0?null:list1.get(r.nextInt(list1.size()));}else{returnlist2==null&&list2.size()==0?null:list2.get(r.nextInt(list2.size()));}}

概率只能说是很多次点击之后统计的规律,而不是说点10次就肯定一次去A里面取,9次去B里面去。你对概率的说法有问题。

写错了,不好意思,return里面的条件应该用||,而不是&&publicObjectget(Listlist1,Listlist2){Randomr=newRandom();if(r.nextInt(10)<1){returnlist1==null||list1.size()==0?null:list1.get(r.nextInt(list1.size()));}else{returnlist2==null||list2.size()==0?null:list2.get(r.nextInt(list2.size()));}}

时间: 2025-01-27 14:11:45

求一个按概率从不同数组中取数据的算法的相关文章

一个标签从标签数组中取值方法实现

问题描述 一个标签从标签数组中取值的两种方法实现.一种方法是按标签出次的次数取值按出现.String[]add={"北京","上海","四川","四川","北京","四川"};"地址":"四川";还有一个方法是按权重进行显示String[]add={"北京","上海","四川","

link中如何混编两个不同的数组中的数据,得到一个全新的毫无关联的结果?

问题描述 link中如何混编两个不同的数组中的数据,得到一个全新的毫无关联的结果? link中如何混编两个不同的数组中的数据,得到一个全新的毫无关联的结果? 解决方案 比如 int[] a = {1,2,3,4,5}; int[] b = {6,7,8,9,10}; var query = a.Concat(b).OrderBy(x => Guid.NewGuid().ToString());

java题,如何将数组中的数据格式化输出?(有代码)

问题描述 java题,如何将数组中的数据格式化输出?(有代码) 例如这串代码 import java.util.*; class gongzi{ public static void main(String[] args){ Scanner kb=new Scanner(System.in); int n=kb.nextInt(); int i; String k=""; for(i=0;i<n;i++){ String name=kb.next(); String f=name

Java 如何将数组中的数据以表格形式输出

问题描述 Java 如何将数组中的数据以表格形式输出 Java 如何将数组中的数据以表格形式输出 如何构建表格 如何将数据填充到表格里 是在android当中,作为app查询功能的一部分 解决方案 你是指什么表格?Excel? 解决方案二: 如果是在web页面,那就是遍历数据集,然后动态生成 这样的html代码,或者你可以使用第三方的表格组件,比如jquery的jqgrid 解决方案三: 动态生成<table><tr><td></td></tr>

c# 向数组中添加数据?

问题描述 假如一个数组string[]a={"a","b","c"}我想向这个数组中添加数据怎么弄?比如变成string[]a={"a","b","c","d"}不能直接改,要用输入的办法.新手求助! 解决方案 解决方案二:那就不用数组,用List<string>,最后都加完了再ToArray()解决方案三:string[]a=newstring[]{&q

C# 移除数组中重复数据

#region 移除数组中重复数据 /// <summary> /// 移除数组中重复数据 /// </summary> /// <param name="array">需要除重的数组</param> /// <returns>不重复数组</returns> public static string[] DelRepeatData(string[] array) { return array.GroupBy(p =

C#如何将数组中的数据储存到本地以供下次读取使用?

问题描述 如题,请教各位前辈,怎么将二维数组中的数据存储起来以便下次运行软件时读取?怎样存储以及怎样读取?例如:double[,]arr=newdouble[,]{{1,2,3},{4,5,6}}; 需要将arr中的数据存起来,下次再读取到arr中使用. 解决方案 本帖最后由 qq_26570227 于 2016-05-25 13:08:02 编辑解决方案二:文本,二进制都可以,看你想怎么存了解决方案三:写入:FileStream+BinaryWriter读取:FileStream+Binary

java获取两个数组中不同数据的方法_java

本文实例讲述了java获取两个数组中不同数据的方法.分享给大家供大家参考.具体实现方法如下: public static <T> List<T> compare(T[] t1, T[] t2) { List<T> list1 = Arrays.asList(t1); List<T> list2 = new ArrayList<T>(); for (T t : t2) { if (!list1.contains(t)) { list2.add(t)

JavaScript使用二分查找算法在数组中查找数据的方法_javascript技巧

本文实例讲述了JavaScript使用二分查找算法在数组中查找数据的方法.分享给大家供大家参考.具体分析如下: 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好:其缺点是要求待查表为有序表,且插入删除困难.因此,折半查找方法适用于不经常变动而查找频繁的有序列表.首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功:否则利用中间位置记录将表分成前.后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一