- 博客(21)
- 收藏
- 关注
原创 Reverse Words in a String
Given an input string, reverse the string word by word.For example,Given s = "the sky is blue",return "blue is sky the".Clarification: What constitutes a word?A sequence of non-space char...
2014-05-23 17:09:51
125
原创 Java堆排序
/** * 确保parent最大 * * @param array * @param parentIndex 父节点 * @param endIndex 最大节点 */ private static void maxHeapify(int[] array, int parentIndex, int e...
2014-05-12 19:07:04
147
原创 插入排序
import java.util.Arrays;public class InsertionSort { private static int[] insertionSort(int[] array){ if(array == null || array.length <= 1){ return array; }else{ for(int i=1;...
2014-05-04 20:37:24
111
面试难题:Java中整数的范围和大小
从进入百度后到现在,一直在参与公司和部门的面试工作,包括校招、社招。最开始做面试的时候,一直苦恼该如何来确认面试者的技术水平,java的内容就那么一点,网上到处流传着各大互联网各种各样的面试笔试题,各培训机构甚至有专门的针对面试的培训,凡此种种都加大了面试官筛选的难度。为了提高面试的效率,便自己整了一套题,由易到难进行排序,以便区分不同的层次。然而面试时间长了之后,发现摆在最前面的一...
2014-05-04 19:12:45
195
原创 MySQL如何使用索引
给定特定的列的值查找满足条件的行,索引的使用能够加快查找的速度。如果没有索引,MySQL将从第一行记录开始,穿越整个表找到相应的记录,表越大,相应的查询的代价也就越大。如果针对查询中的列有索引,MySQL就能在数据文件中快速确定需要查找的位置,再也不用穿越整个表来捞数据了。如果一个表有1000条数据,这样至少能比整表顺序读取捞数据快100倍。如果你的查询结果包含了整表的大部分记录,它也...
2014-04-23 15:52:58
116
spring启动
spring的启动和关闭是通过在web.xml中注册启动监听器org.springframework.web.context.ContextLoaderListener来实现的,该类实现了接口javax.servlet.ServletContextListener。伴随web容器的启动和关闭,管理Spring的根org.springframework.web.context.WebApp...
2014-04-22 21:15:23
105
原创 js数组中逗号的奥义
在创建一个js数组时,如果在数组的头部出现一个逗号或者中间出现两个相邻的逗号,都会被识别为一个未知的元素,其初始值为undefined,如下所示:var a = [, '1', '2',,'4']; //数组的长度为5,其中a[0],a[3]的值均为undefined 如果是在数组的尾部包含有一个逗号,该逗号会被直接忽略,在代码执行的过程中也不会出现任何异常如下所示: ...
2013-07-21 14:24:22
597
原创 javascript中的undefined与null
在javascript中声明一个变量而未赋值时,值会被设定为undefined,试图取得一个未定义变量会导致一个控制台ReferenceError例外错误被抛出:var a;console.log("The value of a is " + a); // logs "The value of a is undefined"console.log("The value...
2013-07-21 13:49:08
110
原创 javascript中字符串、数字之间的转换与操作
在包含加法运算符的数字和字符串表达式中,JavaScript会把数字值转换为字符串。例如,假设有如下的语句: x = "The answer is " + 42 // "The answer is 42"y = 42 + " is the answer" // "42 is the answer" 在包含其它运算符(译注:如下面的“-”)...
2013-07-21 13:36:35
111
二叉树的广度优先遍历
二叉树的广度优先遍历可以简单的理解为按层遍历,每层依次从左至右遍历,其实现如下: public class TreeNode{ //左子节点 private TreeNode leftChild = null; //右子节点 private TreeNode rightChild = null; //节点数据 private i...
2013-07-17 22:39:56
103
二叉树的前序遍历
二叉树的前序遍历主要规则是:1. 先访问父节点,左子节点次之,又子节点再次之;2. 如果子节点包含子节点,对子节点进行前序遍历 代码实现如下: public class TreeNode{ //左子节点 private TreeNode left = null; //又子节点 private TreeNode right = ...
2013-07-15 23:08:10
156
原地整数交换
题目:将两个整数原地交换,不允许创建变量 解法: 存在整数a、b,令x = a - b, 则交换公式为 b = x + b,a = b - x 代码如下private void swapInPlace(int a, int b){ a = a - b; b = b + a; a = b - a;} ...
2013-07-15 22:03:11
112
原地快速排序
原地快速排序的步骤如下: 1. 取序列中的任意值作为一个基准值; 2. 将该基准值与序列的头或者尾进行交换; 3. 将基准值之外的其他值与基准值进行比较,小于基准值的交换到序列前面,大于基准值的交换到序列后面; 4. 将基准值交换到序列的分界线处; 5. 将序列按基准值分为两部分分别进行快速排序; 代码如下:private ...
2013-07-15 21:47:15
1421
归并排序
归并排序是将两个已经排序好的序列合并为一个已排序的序列,其操作步骤如下: 1. 创建一个长度为两个序列长度之和的空间; 2. 使用两个指针分别指向两个序列的起点; 3. 比较两个指针所在位置的值,将较小的值依序放入新分配的空间; 4. 当一个序列遍历完毕,将另一个序列剩下的数据全部依序摆入分配的空间; ...
2013-07-15 19:59:17
86
将二进制的一段替换为另一段二进制
题目: 给定32bit的数字N、M,两个字节位i、j(0<i<j)。写一个算法将数字N的第i到j之间的bit值替换为数字M的bit值。 例如下面的这个例子: int N = 0b10000000000, int M = 0b10101, int i = 2, int j = 6; 替换的结果为 N = ...
2013-07-14 11:21:43
559
获取二叉树中两个节点的最近公共祖先
题目:获取一颗二叉树中任意两个节点的最近公共祖先 解答://二叉树节点对象public class TreeNode{ private TreeNode left = null; private TreeNode right = null; private int data = 0; public TreeNode getLeft(...
2013-07-13 21:04:58
186
矩阵旋转
题目:使用一个N*N的矩阵来表示一张图面,图片中每一个像素是4 byte,编写一个方法将该图片原地旋转90度 解答: 类似于剥洋葱的方式,从外层向里层逐一顺时针旋转 private static void rotateAQuarter(int[][] matrix){ if(matrix == null){ ...
2013-07-12 22:00:43
105
判断两个字符串是否由相同的字符组成
题目:两个给定的字符串是否由相同的字符组成 解答1:将两个字符串排序,然后逐位比较; 解答2: 判断两个字符串中字符的类型和各种类型的数量是否都相同 private boolean areAnagrams(char[] str0, char[] str1){ if(str0 == null && str1 == null){...
2013-07-12 20:00:07
362
删除字符串中的重复字符
题目:删除一个字符串中重复字符,要求不能使用额外的缓冲区,不能复制字符串,可以使用一两个变量。 解答: function String removeDuplicates(char[] str){ if(str != null && str.length > 1){ for(int i=0; i<str.length-...
2013-07-10 22:25:37
177
字符串反转
题目:将一个字符串反转 解答:将字符串从头和尾分别同步向中间步进,每步进一次将对应的字符调换,直到走完整个字符串 private char[] reverse(char[] str){ if(str != null && str.length > 1){ for(int i=0, j=(str.length-1); i...
2013-07-10 22:05:46
94
判断字符串中是否存在重复字符
题目:判断一个给定的字符串中是否存在重复字符 解答:为了简单起见,假定需要进行判断的字符串的所有字符都在ASCII基础字符表范围内,判断算法如下: private boolean hasDuplicateCharacter(String str){ if(str == null){ return false; }else{ ...
2013-07-10 21:40:03
826
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人