面试题算法题

这道面试题旨在考察算法理解与实现能力。通过模拟霍夫曼编码原理,题目要求生成'A'到'E'的随机字符。建议构建一个字符数组,将'A'到'E'映射到特定范围,然后利用随机数生成来输出字符。

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

1. 给你5个球,每个球被抽到的可能性为30、50、20、40、10,设计一个随机算法,该算法的输出结果为本次执行的结果。

   输出A,B,C,D,E即可。

  让范围大的球放在最上面判断,这样可能一次或两次就判断出来的概率就更高,从理论和客观角度都应该可以减少判断的次数。利用了霍   夫曼编码的原理。

public static String ranomBall() {
  int ran = (int)(Matn.random()*150);
  if (ran < 50) {
  return "B";
  } else if (ran < 90) {
  return "D";
  } else if (ran < 120) {
  return "A";
  } else if (ran < 140) {
  return "C";
  } else {
  return "E";
  }
}
System.out.prin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值