自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 77

原创 Java堆排序

/** * 确保parent最大 * * @param array * @param parentIndex 父节点 * @param endIndex 最大节点 */ private static void maxHeapify(int[] array, int parentIndex, int e...

2014-05-12 19:07:04 100

原创 插入排序

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 70

面试难题:Java中整数的范围和大小

从进入百度后到现在,一直在参与公司和部门的面试工作,包括校招、社招。最开始做面试的时候,一直苦恼该如何来确认面试者的技术水平,java的内容就那么一点,网上到处流传着各大互联网各种各样的面试笔试题,各培训机构甚至有专门的针对面试的培训,凡此种种都加大了面试官筛选的难度。为了提高面试的效率,便自己整了一套题,由易到难进行排序,以便区分不同的层次。然而面试时间长了之后,发现摆在最前面的一...

2014-05-04 19:12:45 159

原创 MySQL如何使用索引

     给定特定的列的值查找满足条件的行,索引的使用能够加快查找的速度。如果没有索引,MySQL将从第一行记录开始,穿越整个表找到相应的记录,表越大,相应的查询的代价也就越大。如果针对查询中的列有索引,MySQL就能在数据文件中快速确定需要查找的位置,再也不用穿越整个表来捞数据了。如果一个表有1000条数据,这样至少能比整表顺序读取捞数据快100倍。如果你的查询结果包含了整表的大部分记录,它也...

2014-04-23 15:52:58 82

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 75

原创 js数组中逗号的奥义

    在创建一个js数组时,如果在数组的头部出现一个逗号或者中间出现两个相邻的逗号,都会被识别为一个未知的元素,其初始值为undefined,如下所示:var a = [, '1', '2',,'4']; //数组的长度为5,其中a[0],a[3]的值均为undefined    如果是在数组的尾部包含有一个逗号,该逗号会被直接忽略,在代码执行的过程中也不会出现任何异常如下所示: ...

2013-07-21 14:24:22 552

原创 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 74

原创 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 83

二叉树的广度优先遍历

二叉树的广度优先遍历可以简单的理解为按层遍历,每层依次从左至右遍历,其实现如下: public class TreeNode{ //左子节点 private TreeNode leftChild = null; //右子节点 private TreeNode rightChild = null; //节点数据 private i...

2013-07-17 22:39:56 73

二叉树的前序遍历

二叉树的前序遍历主要规则是:1. 先访问父节点,左子节点次之,又子节点再次之;2. 如果子节点包含子节点,对子节点进行前序遍历 代码实现如下: public class TreeNode{ //左子节点 private TreeNode left = null; //又子节点 private TreeNode right = ...

2013-07-15 23:08:10 115

原地整数交换

题目:将两个整数原地交换,不允许创建变量 解法:        存在整数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 84

原地快速排序

原地快速排序的步骤如下:    1. 取序列中的任意值作为一个基准值;    2. 将该基准值与序列的头或者尾进行交换;    3. 将基准值之外的其他值与基准值进行比较,小于基准值的交换到序列前面,大于基准值的交换到序列后面;    4. 将基准值交换到序列的分界线处;    5. 将序列按基准值分为两部分分别进行快速排序;  代码如下:private ...

2013-07-15 21:47:15 1338

归并排序

       归并排序是将两个已经排序好的序列合并为一个已排序的序列,其操作步骤如下:        1. 创建一个长度为两个序列长度之和的空间;        2. 使用两个指针分别指向两个序列的起点;        3. 比较两个指针所在位置的值,将较小的值依序放入新分配的空间;        4. 当一个序列遍历完毕,将另一个序列剩下的数据全部依序摆入分配的空间; ...

2013-07-15 19:59:17 59

将二进制的一段替换为另一段二进制

题目:        给定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 464

获取二叉树中两个节点的最近公共祖先

题目:获取一颗二叉树中任意两个节点的最近公共祖先 解答://二叉树节点对象public class TreeNode{ private TreeNode left = null; private TreeNode right = null; private int data = 0; public TreeNode getLeft(...

2013-07-13 21:04:58 133

矩阵旋转

题目:使用一个N*N的矩阵来表示一张图面,图片中每一个像素是4 byte,编写一个方法将该图片原地旋转90度 解答:        类似于剥洋葱的方式,从外层向里层逐一顺时针旋转   private static void rotateAQuarter(int[][] matrix){ if(matrix == null){ ...

2013-07-12 22:00:43 80

判断两个字符串是否由相同的字符组成

题目:两个给定的字符串是否由相同的字符组成 解答1:将两个字符串排序,然后逐位比较; 解答2:       判断两个字符串中字符的类型和各种类型的数量是否都相同 private boolean areAnagrams(char[] str0, char[] str1){ if(str0 == null && str1 == null){...

2013-07-12 20:00:07 323

删除字符串中的重复字符

题目:删除一个字符串中重复字符,要求不能使用额外的缓冲区,不能复制字符串,可以使用一两个变量。 解答:  function String removeDuplicates(char[] str){ if(str != null && str.length > 1){ for(int i=0; i<str.length-...

2013-07-10 22:25:37 142

字符串反转

题目:将一个字符串反转 解答:将字符串从头和尾分别同步向中间步进,每步进一次将对应的字符调换,直到走完整个字符串  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 63

判断字符串中是否存在重复字符

题目:判断一个给定的字符串中是否存在重复字符 解答:为了简单起见,假定需要进行判断的字符串的所有字符都在ASCII基础字符表范围内,判断算法如下: private boolean hasDuplicateCharacter(String str){ if(str == null){ return false; }else{ ...

2013-07-10 21:40:03 777

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除