当前位置: 首页 > news >正文

【算法】【算法杂谈】让[0,x)区间上的出现概率变为x^k

目录

  • 前言
  • 问题介绍
  • 解决方案
  • 代码编写
    • java语言版本
    • c语言版本
    • c++语言版本
  • 思考感悟
  • 写在最后

前言

当前所有算法都使用测试用例运行过,但是不保证100%的测试用例,如果存在问题务必联系批评指正~

在此感谢左大神让我对算法有了新的感悟认识!

问题介绍

原问题
已知Math.random返回[0,1)范围上的数,那么落在[0,x)上的概率应该是x
现在实现一个函数仍然返回[0,1)范围的数,但是要求[0,x)上的概率应该是x^k次方,k为用户输入
比如k =2 ,返回的概率应该是x^2

解决方案

原问题
首先实现一个最简单的x^2概率的函数,如何做?
答案是:两次rand取最大值即可

代码编写

java语言版本

原问题:

   /*** 二轮测试:让[0,x)区间上的出现概率变为x^k* @param k* @return*/public static double randomXPowerKCp1(int k) {if (k < 1) {return 0;}double res = -1;for (int i = 0; i < k; i++) {res = Math.max(res, Math.random());}return res;}

c语言版本

正在学习中

c++语言版本

正在学习中

思考感悟

刚开始有点懵逼,后来才理解什么意思,原来就是进行k次的rand,如果出现一次比x大的rand就返回那个大的值即可。那么如果所有值都没有比x大,那么就返回[0,x)范围的数。

最近工作比较忙,所以偷个小懒,但是后面会上一个开源自己写的小组件,名字叫做httpTerminator(基于注解的http请求小工具,希望大家多多支持~)

写在最后

方案和代码仅提供学习和思考使用,切勿随意滥用!如有错误和不合理的地方,务必批评指正~
如果需要git源码可邮件给2260755767@qq.com
再次感谢左大神对我算法的指点迷津!

http://www.lryc.cn/news/68403.html

相关文章:

  • 【2023华为OD笔试必会25题--C语言版】《21 对称美学》——字符串、递归
  • 为减少来自环境使用的无线传感器网络的传输次数而开发的方法(Matlab代码实现)
  • springboot+vue滴答拍摄影项目(源码+文档)
  • SQL基础培训13-索引和优化
  • 拥抱5G发展机遇,从边缘计算上车
  • “前端”工匠系列(二):合格的工匠,怎么做好价值落地 | 京东云技术团队
  • Oracle11g下载与安装
  • 考研复试-软件工程
  • 软件测试选择题
  • 有限合伙企业与有限公司的区别
  • 从洛克菲勒思想中洞悉的财富秘密
  • 如何训练自己的大型语言模型
  • Java中的SLF4J是什么?如何使用SLF4J进行日志管理
  • PHP程序员面对的压力大不大?我来聊聊程序员转行的就业方向
  • 牛客网专项练习Pytnon分析库(十)
  • leecode654——最大二叉树
  • 【笔试强训选择题】Day12.习题(错题)解析
  • 边缘计算与开放源代码的完美结合
  • 边缘计算网关在储能系统中的应用——提高储能系统的安全性和稳定性
  • 【FMC136】AD9467之4通道 250MSPS 采样率16位AD 采集子卡模块得设计原理图中文资料
  • 抖音SEO矩阵系统源码开发(一)
  • Mysql实现对某一字段排序并将排名写入另一字段
  • vector容器 [上]
  • React Native技术探究:开发高质量的跨平台移动应用的秘诀
  • C语言函数大全-- w 开头的函数(2)
  • kafka启动创建topic报错:zookeeper is not a recognized option
  • 11个超好用的SVG编辑工具
  • 低代码平台:10分钟从入门到原理
  • 【JavaScript】如何获取客户端IP地址?
  • 数据科学中使用的17 种相似性和相异性度量之欧氏距离