`

1到100, 中间随机抽走一个数,用算法得出是哪个数

 
阅读更多
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class HunderTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//test data
		Map tester = new HashMap();
		for (int i = 0; i < 10; i++) {
			tester.put(i + "", "0");
		}
		List attendant = new ArrayList();
		for (int i = 1; i <= 100; i++) {
			attendant.add(i + "");
		}
		System.out.println(attendant);
		attendant.set(95, " ");

		//Solution 1.  秦胜原创
		int total=5500;
		int result=0;
		for (int i = 0; i < 100; i++) {
			int sub=0;
			try{
				sub=Integer.parseInt((String)attendant.get(i));
			}catch(Exception e){
				
			}
			result+=sub;
		}
		System.out.println(5500-result);
		
		//solution 2.
		for (int i = 0; i < 100; i++) {
			String atr = ((String) attendant.get(i));
			atr = atr.substring(atr.length() - 1, atr.length());
			if (tester.keySet().contains(atr)) {
				String val = (String) tester.get(atr);
				int v = Integer.parseInt(val);
				tester.put(atr, (v += 1) + "");
			}
		}
		String r = "";
		for (int i = 0; i < 10; i++) {
			String k = (String) tester.get(i + "");
			if (k.equals("9")) {
				r = i + "";
				break;
			}
		}
		if (!attendant.contains(r)) {
			System.out.println(r);
		} else {
			for (int i = 1; i <= 10; i++) {
				if (!attendant.contains(i + r)) {
					System.out.println(i + r);
					break;
				}
			}
		}
	}

}
分享到:
评论

相关推荐

    2022年山东大学软件学院研究生随机算法

    可以使用随机算法来解决最大割问题,例如设置顶点集 A、B,初始为空集,然后对于一个顶点,独立地以 1/2 的概率放入到集合 A,以 1/2 的概率放入到集合 B,最后返回 A 和 B。可以证明此方法割开的边数至少是最优解的...

    JAVA 抽奖算法,JAVA 抽奖算法·

    - **随机数生成**:使用`Math.random()`函数生成一个0到1之间的随机浮点数,然后乘以最大累积概率值再加上1,得到介于1到最大累积概率值之间的随机整数。 - **结果判断**:通过一系列条件判断语句来确定最终的抽奖...

    随机选择算法的研究

    - 使用随机数生成函数生成相应范围内的随机数,根据随机数决定学生被分配到哪个班级。 - 例如,如果有5个班级,则可以生成1到5之间的随机整数来决定每个学生所在的班级。 为了实现这一点,可以创建一个数组来存储...

    随机森林算法java数据挖掘算法源码.rar

    7. **Weka库**:Weka是一个强大的数据挖掘工具,提供了多种机器学习算法,包括随机森林。在Java中使用Weka,可以通过API调用构建、训练和评估随机森林模型。 8. **Apache Mahout**:Apache Mahout是另一个Java库,...

    随机抽奖源码,VS2015,telerik,LinqToExcel,随机算法,泛型,委托

    随机算法,要考虑到不能随机获取重复出现的数,尽可能的接近随机,里面有一种算法是用Guid和时间相乘得出随机种子, 泛型,委托简单的运用 一些随机抽奖程序要考虑的细节,如抽奖几次后意外中断或退出,这时重新...

    随机算法.pdf

    一个随机算法是一种算法,它采用了一定程度的随机性作为其逻辑的一部分。该算法通常使用均匀随机位作为辅助输入来指导自己的行为,超过随机位的所有可能的选择实现了“平均情况下的”良好业绩的希望。从形式上看,该...

    Java实现随机森林算法

    下面我将展示一个使用Weka库的简单示例,来说明如何使用随机森林算法对数据进行分类。 首先,你需要在项目中引入Weka库。如果你使用Maven,可以在pom.xml文件中添加以下依赖: &lt;groupId&gt;nz.ac.waikato.cms.weka ...

    随机抽数程序

    标题中的“随机抽数程序”指的是一个计算机程序,它的主要功能是在给定的数值范围内生成随机选取的多个数字。在编程领域,实现这样的功能通常会用到随机数生成的算法,比如线性同余法、Mersenne Twister算法或者更...

    重启随机游走算法

    在无向图或有向图中,随机游走是指一个过程,其中随机地从一个节点移动到与其相邻的另一个节点。在传统的随机游走中,每次移动的概率只取决于当前节点的邻居。然而,重启随机游走增加了“重启”概率,即在每个时间步...

    伪随机数生成算法及比较.pdf

    1. 取中法:这是早期产生伪随机数列的一种方法,例如平方取中法,通过将一个十进制随机数平方后取中间的两位数作为新的随机数,循环此过程生成数列。尽管实现简单,占用内存少,但这种方法均匀性不佳,序列长度和...

    java随机生成二进制数-java–随机二进制搜索算法 随机搜索算法.pdf

    该算法的基本思想是,选择一个随机的索引,然后比较该索引处的元素与搜索值。如果该元素等于搜索值,则返回 true;否则,如果该元素大于搜索值,则递归地搜索左半部分数组,如果该元素小于搜索值,则递归地搜索右半...

    计算机随机抽题算法.pdf

    当时我认为这种算法应该是真正意义上的随机抽取试题,但是遗憾的是如果在题库中题量不多的情况下,很容易会在数据库中读取重复的试题,虽然也可以再使用一个变量或数组来储存已经读取过的试题id 来解决试题重复的...

    抽奖算法最新

    这种情况下,可以为每个参与者分配一个权重值,然后使用加权随机抽选算法。一种实现方法是使用Fisher-Yates洗牌算法,对带有权重的参与者列表进行排序后再随机抽取。 3. **循环抽奖**:如果希望保证每个参与者都有...

    随机算法ppt课件

    随机算法是计算机科学中一个重要的研究领域,它利用概率论的概念和方法来设计和分析算法。在本课程讲义中,南京大学提供了深入且全面的介绍,尤其对于初学者来说是一份非常有价值的入门资料。随机算法不同于传统的...

    随机森林 C++ 算法实现

    4. **随机特征子空间**:在每个节点分裂时,不是考虑所有特征,而是从所有特征中随机选取一个固定大小的子集进行分裂。 5. **模型集成**:所有决策树的预测结果通过投票(分类问题)或平均(回归问题)来确定最终...

    Mersenne Twister 伪随机数生成算法

    Mersenne Twister算法译为马特赛特旋转演算法,是伪随机数发生器之一,其主要作用是生成伪随机数。此算法是Makoto Matsumoto (松本)和Takuji Nishimura (西村)于1997年开发的,基于有限二进制字段上的矩阵线性再生。...

    数字签名算法DSS

    4.用户的随机选择数 k:随机或伪随机整数,满足 0 基于以上参数,DSS 的签名过程如下: 1. 签名过程:r = -(gk mod p) mod q,s = [k-1 (H(M) + xr)] mod q 2. 验证过程:w = (s’)^-1 mod q,u1 = [H(M’)w] mod...

    基于随机森林的分类算法的matlab简单实现

    本项目提供的资源包含了一个简单的随机森林分类算法实现,以及相关的数据集和M文件,使得初学者能够快速理解和应用这一强大的机器学习模型。 随机森林的核心概念包括以下几个方面: 1. **决策树**:随机森林的基础...

    优先数调度算法实现处理器调度

    具体来说,每当一个进程获得执行并完成一部分工作后,它的优先级会被减少,使得其他等待的进程有机会获得处理器。这样可以防止高优先级的进程永久占据处理器,确保系统中的进程都能得到适当的执行时间。 实验内容...

Global site tag (gtag.js) - Google Analytics