摘要: 1、判断奇偶数 如果把一个数n以二进制数的形式表示的话,我们只需要判断最后一个二进制位是1还是0即可。如果是1,则代表奇数,否则为偶数。代码如下: 2、交换两个数 我们都知道两个相同的数异或之后的结果为0,即 n ^ n = 0,并且任何数与0异或之后等于它本身,即 n ^ 0 = n。 于是我们把 阅读全文
posted @ 2019-06-02 20:17 murphy_gb 阅读(1688) 评论(0) 推荐(0) 编辑
摘要: 谈谈Spring中都用到了哪些设计模式? JDK 中用到了那些设计模式?Spring 中用到了那些设计模式?这两个问题,在面试中比较常见。我在网上搜索了一下关于 Spring 中设计模式的讲解几乎都是千篇一律,而且大部分都年代久远。所以,花了几天时间自己总结了一下,由于我的个人能力有限,文中如有任何 阅读全文
posted @ 2019-05-30 14:11 murphy_gb 阅读(50515) 评论(4) 推荐(22) 编辑
摘要: 1 引言 程序调用自身的编程技巧称为递归( recursion) 。递归作为一种算法在程序设计语言中广泛应用。一个方法或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可以描述出解题过程所需要的 阅读全文
posted @ 2019-05-20 08:26 murphy_gb 阅读(958) 评论(0) 推荐(2) 编辑
摘要: 可能很多人在大一的时候,就已经接触递归了,不过,我相信很多人刚开始接触递归的时候,都是一脸懵逼的,因为我当初也是懵逼,递归给我的感觉就是真的太神奇太奇妙了! 可能也有一大部分人知道递归,也能看的懂递归,但在实际做题过程中,却不知道怎么使用,因为不容易理解所以有时候还容易被搞晕。因此,我想写一篇文章, 阅读全文
posted @ 2019-04-11 19:34 murphy_gb 阅读(757) 评论(0) 推荐(1) 编辑
摘要: 有这样一道排序题:数组里有20个随机数,取值范围为从0到10,要求用最快的速度把这20个整数从小到大进行排序。 第一时间你可能会想使用快速排序,因为快排的时间复杂度只有O(nlogn)。但是这种方法还是不够快,有没有比O(nlogn)更快的排序方法呢?你可能会有疑问:O(nlogn)已经是最快的排序 阅读全文
posted @ 2019-03-26 23:50 murphy_gb 阅读(27550) 评论(4) 推荐(18) 编辑
摘要: 正向代理 正向代理(forward proxy):是一个位于客户端和目标服务器之间的服务器(代理服务器),为了从目标服务器取得内容,客户端向代理服务器发送一个请求并指定目标,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端。 有时候,用户想要访问某国外网站,该网站无法在国内直接访问,但是 阅读全文
posted @ 2019-03-08 22:26 murphy_gb 阅读(357) 评论(1) 推荐(1) 编辑
摘要: 如何寻找无序数组中的第K大元素? 有这样一个算法题:有一个无序数组,要求找出数组中的第K大元素。比如给定的无序数组如下所示: 如果k=6,也就是要寻找第6大的元素,很显然,数组中第一大元素是24,第二大元素是20,第三大元素是17...... 第六大元素是9 。 方法一:排序法 这是最容易想到的方法 阅读全文
posted @ 2019-03-03 14:43 murphy_gb 阅读(14092) 评论(5) 推荐(1) 编辑
摘要: 我们平时实现两个整数相加,直接用两个int类型的整数相加即可。如果整数再大一点,那么就可以将整数声明为long类型。如果整数是数十位的,甚至是上百位的,连long类型也装不下呢?让我们来先回顾一下我们上小学时是如何计算两个较大的整数想加的。小学时,要计算两个较大整数相加,就要进行列竖式计算,将两个整 阅读全文
posted @ 2019-02-28 21:28 murphy_gb 阅读(2649) 评论(1) 推荐(0) 编辑