上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页
摘要: 题目: 操作给定的二叉树,将其变换为源二叉树的镜像。 阅读全文
posted @ 2016-03-23 19:32 Pickle 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 前言 I/O在软件开发中的重要性无需多言,无论是在操作系统、网络协议、DBMS这种底层支撑软件还是在移动APP,大型网站服务器等应用软件的开发中都是最核心最重要的部分。特别是现在软件服务使用量和数据量爆炸增长的时代,大数据背景下的高可用分布式系统都离不开高效稳定的I/O。本文就简要分析各类I/O模型 阅读全文
posted @ 2016-03-21 10:31 Pickle 阅读(1386) 评论(0) 推荐(4) 编辑
摘要: RMI介绍 远程方法调用(RMI)顾名思义是一台机器上的程序调用另一台机器上的方法。这样可以大致知道RMI是用来干什么的,但是这种理解还不太确切。RMI是Java支撑分布式系统的基石,例如著名的EJB组件。RMI是远程过程调用(RPC)的一种面向对象实现,RMI底层是通过socket通信和对象序列化 阅读全文
posted @ 2016-03-19 21:49 Pickle 阅读(20282) 评论(4) 推荐(6) 编辑
摘要: 题目:输入两颗二叉树A,B,判断B是不是A的子结构。 思路:题目的意思就是判断B是不是A的一部分,B是不是A的子树。遇到二叉树的问题首先想到用递归来解决。首先需要找个树A的一个节点p,使得p和B的头结点的值相等,然后判断p的左子树是不是等于B的左子树,p的右子树是不是等于B的右子树,如果相等说明B是 阅读全文
posted @ 2016-03-19 16:04 Pickle 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 题目:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路:题目相对简单,有两个思路,一个是遍历两个链表的公共长度,按值的大小把各个节点连接起来,最后把较长链表的剩余部分追加到最后。第二个思路,这个类似于自然合并排序,可以使用递归分治的思想来解决问题,还 阅读全文
posted @ 2016-03-19 15:44 Pickle 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个链表,反转链表后,输出链表的所有元素。 思路:这个题目是一个很经典的链表操作题目,涉及很多链表指针操作,考验代码功底。因为是单向链表,如果按照最普通的思路来解和求链表中的倒数第k个节点一样,会有许多不必要的遍历。那么就需要在指针操作上想办法。下面是一个比较好的解决思路: 首先需要设置4 阅读全文
posted @ 2016-03-19 15:34 Pickle 阅读(492) 评论(0) 推荐(0) 编辑
摘要: 题目: 输入一个链表,输出该链表中倒数第k个结点。 思路: 因为是单向链表,如果使用最普通的遍历来解决的话会多出很多不必要的遍历。有一个比较好的解法,设置两个指针两个指针之间差k-1个位置,也就是当后面的指针遍历到链表尾部的时候前面的指针正好是链表的倒数第K个节点。这样就能提高程序的效率,简化思路。 阅读全文
posted @ 2016-03-19 14:49 Pickle 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路: 这道题首先就能想到一个思路,运用快速排序的思想,设置前后两个指针,分别从数组的前后两端开始遍历,前指针遇到 阅读全文
posted @ 2016-03-19 14:35 Pickle 阅读(1096) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 这个题看似很简单,貌似用一个循环就能解决问题。就像下面这样: 可是这是万万不够的,要写出正确高质量的代码还需要斟酌一下,首先得考虑base为0并且指数为负数的情况,不然会出现0作为分 阅读全文
posted @ 2016-03-07 17:24 Pickle 阅读(833) 评论(2) 推荐(0) 编辑
摘要: 前言 查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序 阅读全文
posted @ 2016-03-05 16:05 Pickle 阅读(56985) 评论(24) 推荐(85) 编辑
摘要: 最近在复习基础知识,下面是二分查找算法的递归和非递归实现: package sortandsearch; /** *@Description:<p>二分查找的递归和非递归算法</p> *@author 王旭 *@time 2016-3-3 上午10:36:29 */ public class Bin 阅读全文
posted @ 2016-03-03 11:03 Pickle 阅读(740) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路:这个题目以前做过,是直接把数转换成二进制字符串,然后遍历一遍统计1的个数。《剑指Offer》上这道题目有3种位运算解法。最后一种是最优的。可以使用一个位运算的技巧,n & (n-1)可以把n的二进制数的最右边的1去掉。知道 阅读全文
posted @ 2016-03-02 20:33 Pickle 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 题目:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 思路: 观察上面的矩形,如果使用2x1的矩形来覆盖2x8的矩形的话,设有f(n)中覆盖放法。首先,第一个2x1的矩形有两种放法,第一种,竖着放,剩下的部分有f(7) 阅读全文
posted @ 2016-03-02 20:23 Pickle 阅读(1480) 评论(0) 推荐(1) 编辑
摘要: 题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路:和跳台阶不同,这只青蛙比较变态一下可以跳n级台阶。这样可以使用数学归纳法来证明其实答案是2^(n-1)。其实算出来几个就找出来规律了。 实现代码: 阅读全文
posted @ 2016-03-02 20:03 Pickle 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路:可以设f(n)为n级台阶的跳法种类。则n级台阶的情况,第一步有两种选择一种是跳一级,剩下的n-1级台阶有f(n-1)中跳法。另一种是跳两级,剩下的n-2级台阶有f(n-2)种跳法。那么n级台阶的跳 阅读全文
posted @ 2016-03-02 20:00 Pickle 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 思路:经典的题目,递归的效率不如循环,因为递归要做许多重复计算。使用循环可以保存计算结果以重用。 实现代码: 阅读全文
posted @ 2016-03-02 19:54 Pickle 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减序列的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 思路:首先所给的旋转数组书局部有序的,这完全可以想到使用二分查找来解决会优化线性查找的 阅读全文
posted @ 2016-03-02 19:51 Pickle 阅读(801) 评论(0) 推荐(0) 编辑
摘要: 题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路:用两个栈来模拟队列,一个栈作为存储,另一个栈作为交换空间。队列的push操作就直接push到第一个栈中,队列的pop操作,需要取得第一个栈低的元素,所以先把第一个栈的元素出栈,入栈到第二个队列,那么取的 阅读全文
posted @ 2016-03-02 19:24 Pickle 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路:知道了二叉树的前序和中序的序列就可以使用递归的方法 阅读全文
posted @ 2016-03-02 19:16 Pickle 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个链表,从尾到头打印链表每个节点的值。 思路:链表是不可以随机访问的,所以如果不借助辅助空间的话,每打印一个节点就会遍历一遍链表,时间复杂度为O(n^2)。那么就需要以空间换取时间,因为是倒着遍历链表,所以栈是最好的选择。只需要遍历一遍链表入栈。然后遍历栈,出栈。这样时间复杂度为O(n) 阅读全文
posted @ 2016-03-02 19:08 Pickle 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 题目: 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路: 首先要遍历字符串得到空格的数量,则替换后的字符串长度应该是原长度+空格数量*2,从新分配长度。如果从前向后替换的话,多次替换会有 阅读全文
posted @ 2016-03-02 18:57 Pickle 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 array: 待查找的二维数组target:查找的数字。查找到返回true,查找不到返回false。 思路: 1 2 8 9 阅读全文
posted @ 2016-03-02 17:38 Pickle 阅读(392) 评论(0) 推荐(0) 编辑
摘要: Description: Given a 2D matrix matrix, find the sum of the elements inside the rectangle defined by its upper left corner (row1, col1) and lower right 阅读全文
posted @ 2016-02-23 22:23 Pickle 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 关于(About) 官方文档介绍了所有的Apache Solr实现的重要特性和功能。它是免费的,可以到http://lucene.apache.org/solr/下载。 为了更加的深入和广泛,设计成一个较高水平的文档,而不是一个菜谱。文档定位到比较广泛的需求,帮助新手和经验丰富的开发人员扩展他们的应 阅读全文
posted @ 2016-02-23 17:12 Pickle 阅读(6240) 评论(3) 推荐(8) 编辑
摘要: Description: Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive. Example: Given nums = [-2, 0, 3, -5 阅读全文
posted @ 2016-02-22 18:24 Pickle 阅读(336) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页