基于基础的二分法查找方法,做出了相应的该进。 对二分法的整个过程梳理中,发现了 min 和 max 值的关系 因为有min <= max 的关系存在,所以才有之后的mid过程。 以这个关系为基础,重新建立了while函数的关系。并且增加了功能使该代码能够实现不在数组中的元素,应该在数组的那个位置插入 ...
分类:
编程语言 时间:
2017-09-19 17:53:27
阅读次数:
211
Sqlliab Less1 首先来看源码 我们发现直接将id的字段丢给了查询sql语句函数。输入地址看看效果 http://192.168.16.135/sqli-labs-master/Less-1/?id=1 我们发现当id=1的时候,当前的执行语句为: SELECT * FROM users ...
分类:
数据库 时间:
2017-09-17 23:29:40
阅读次数:
398
最近做了几道关于二分法的题目,觉得比较典型,因此拿出来说一说。 首先,先把题目分享一下。 题目描述:上题中讲了一个故事,故事大意不用过多关注,有用部分为:某地主有一个大粮仓,这个粮仓容量为 n 个单位,但这个粮仓有个小口,每天会有一部分麻雀过来偷吃粮食,同时地主每天也会从别的地方运来粮食填补。开始的 ...
分类:
其他好文 时间:
2017-09-17 01:28:33
阅读次数:
277
连续看我文章的朋友就会发现,我写文章有一个特点,总是用经典的例题引出一个方法,在之后的文章中才会介绍这种方法的详细信息。这样做的好处是:避免了先接触干巴巴的概念导致很多朋友看的时候会有索然无味这种体验,由具体题目的分析过程来一步一步优化,最终引出方法这种形式,更能让这种方法变得顺理成章,也更能让读者 ...
分类:
其他好文 时间:
2017-09-17 01:24:23
阅读次数:
211
平方,开根号在java中是很简单的,Math.sqrt(double n)或者 Math.pow(double a, double b),求a的b次方。但是我们可以自己想想,这些方法到底是怎么实现的。 就拿开根号来解释,它有两种方法,二分法和牛顿迭代法。 二分法: 比如求根号5 第一步:折半: 5/ ...
分类:
编程语言 时间:
2017-09-16 22:14:22
阅读次数:
468
定义:二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前 ...
分类:
其他好文 时间:
2017-09-12 19:54:00
阅读次数:
170
笔者是一个通信测试攻城狮,之前做过一段时间的持续集成。工作内容只要就是对主线版本进行基本通信功能守护,测试执行都是自动化完成,也是那个时候开始接触到代码。 当时经常遇到的一个问题是:某一天我们发现版本有重大BUG,但是到上一次我们验证PASS中间已经经历过很多版本,我们需要手动从中间找到第一个出现B ...
分类:
编程语言 时间:
2017-09-09 22:38:29
阅读次数:
425
问题描述:geohash编码:geohash常用于将二维的经纬度转换为字符串,分为两步:第一步是经纬度的二进制编码,第二步是base32转码。 此题考察纬度的二进制编码:算法对纬度[-90, 90]通过二分法进行无限逼近(取决于所需精度,本题精度为6)。 注意,本题进行二分法逼近过程中只采用向下取整 ...
分类:
其他好文 时间:
2017-09-09 10:48:30
阅读次数:
150
1.2x8最有效率方式:2>>3 2.a,b两个整数交换:a = a ^ b;b = a ^ b;a = a ^ b; 3.画图形,外层for为行,内层for为行的个数和形状。 4.* * * * * 外圈x,里圈y和z * * * * * * * * * * 5.重载和重写的区别:重载是参数个数、 ...
分类:
编程语言 时间:
2017-09-05 10:09:03
阅读次数:
131
三分法和二分法有些类似,二分处理的是递增/减的函数,而三分处理的是先递增后递减(或相反)的函数的最值。 如上图,lm<rm,则函数最小值在[l,rm]间,再继续三分即可。 反向也是同理,如上图,最大值在[lm,r]之间。 现在我们来做一道模板题:给一函数,该函数在任意Y>0的情况下x在[0,100] ...
分类:
其他好文 时间:
2017-09-03 22:15:55
阅读次数:
131