部依的技术小窝

【算法04】二分法常见题型

1、在有序数组当中找到num 问题:在有序数组当中找到num(二分查找) 思路: 找到 0 和最后一个数的中位数, 将中位数和 我们的目标相比, 如果中位数小于目标,则将中位数定为左边界 继续向右二分查找。 如果中位数大于目标,则将中位数定为右边界 继续向左二分查找。 如果相等说明存在该值 如果我们

ziop ziop Published on 2022-11-10

【算法03】对数器

对数器验证算法的正确性 对数器介绍 1.有一个你想要测的方法a; 2.实现一个绝对正确但是复杂度不好的方法b; 3.实现一个随机样本产生器; 4.实现对比算法a和b的方法; 5.把方法a和方法b比对多次来验证方法a是否正确; 6.如果有一个样本使得比对出错,打印样本分析是哪个方法出错; 7.当样本数

ziop ziop Published on 2022-11-10

【算法02】前缀和

【算法02】前缀和 问题 :给定一个长度为 N 的整数数组以及两个数字 L 和 R,我们的目标是计算该数组中 L 到 R 索引之间的数字的总和。 解决方案一: 我们可以创建一个 N x N 的二维数组进行预计算,这个数组将保存从 0 到 N 之间所有区间的和。 public class Range

ziop ziop Published on 2022-11-08

【算法01】已知 a~b 的等概率随机函数,制作一个 c~d 上的等概率随机函数

利用[1,5]上的等概率随机函数,实现[0,7]上等概率随机数的函数 g() 问题: 我们现在有一个函数 f(),它可以返回[1,5]范围内的等概率随机数。目标是使用这个函数构造一个新函数 g() ,让g()能返回[0,7]范围内的等概率随机数。(注意:我们不能使用 Math.random() 函数

ziop ziop Published on 2022-11-08