欢乐的代码-2
2022/2/27 23:28:34
本文主要是介绍欢乐的代码-2,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
/** * 已知一个计算范围内等概率的方法,求另外一个范围的等概率返回。 */ public class CalculateProbability { public static void main(String[] args) { //已知0-5上的概率为fn,求30-39上的概率 // 1 将0-5上的概率包装成0和1等概率返回。如果是p和p-1也是同样的道理,包装成01和10等概率返回,其它继续。 // 30-39可以看成 0-8的概率最后+1 for(int i = 0; i < 50; i++){ System.out.println(getRandomRes()); } } private static int getRandomRes(){ int res = 0; do{ res = (zeroAndOne() << 3) + (zeroAndOne() << 2) + (zeroAndOne() << 1) + zeroAndOne(); }while (res == 9 || res == 10 || res == 11 || res == 12 || res == 13 || res == 14 || res == 15 || res == 16); return res + 1 + 30; } /** * 等概率返回0和1 * @return */ private static int zeroAndOne(){ int res = 0; do{ res = fn(); }while (res == 4); return res % 2; } /** * 0-5上的概率,题目给的函数 * @return */ private static int fn(){ Random ran = new Random(); return ran.nextInt(5); } } /** * 问题描述 * 数轴上从左到右有n各点a[0],a[1],……,a[n -1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点。 * 先输入绳子的长度,然后输入数轴上的点,点以逗号分割,数值是有序的。 * * 算法:滑动窗口 */ public class SlidingWindow { public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int len = Integer.parseInt(sc.nextLine()); String[] points = sc.nextLine().split(","); int maxSize = getMaxCoverPointNum(len, points); System.out.println(maxSize); } } private static int getMaxCoverPointNum(int len, String[] points){ int[] sizeArr = new int[points.length]; int size = 0; // 窗口左侧 int l = 0; //窗口右侧 int r = 0; while(r < points.length){ //窗口左边的数 int cur = Integer.parseInt(points[l]); //窗口右边的数 int next = Integer.parseInt(points[r]); //如果下一点能够cover长度的话,那么r右移一位,数量加1.继续 if(len >= (next -cur)){ ++size; ++r; sizeArr[l] = size; continue; }else{ //记录下当前l能cover几个点,l右移动一位,同时r也要充值为l,个数重置为0 sizeArr[l] = size; ++l; r = l; size = 0; } } Arrays.sort(sizeArr); return sizeArr[sizeArr.length-1]; } }
这篇关于欢乐的代码-2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-01为什么公共事业机构会偏爱 TiDB :TiDB 数据库在某省妇幼健康管理系统的应用
- 2024-04-26敏捷开发:想要快速交付就必须舍弃产品质量?
- 2024-04-26静态代码分析的这些好处,我竟然都不知道?
- 2024-04-26你在测试金字塔的哪一层?(下)
- 2024-04-26快刀斩乱麻,DevOps让代码评审也自动起来
- 2024-04-262024年最好用的10款ER图神器!
- 2024-04-2203-为啥大模型LLM还没能完全替代你?
- 2024-04-2101-大语言模型发展
- 2024-04-17基于SpringWeb MultipartFile文件上传、下载功能
- 2024-04-14个人开发者,Spring Boot 项目如何部署