自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (8)
  • 收藏
  • 关注

原创 快速排序的java实现

1.算法思想通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。2.实现思路。①以第一个关键字 K 1 为控制字,将 [K 1 ,K 2 ,…,K n ] 分成两个子区,使左区所有关键字小于等于 K 1 ,右区所有关键字大于等于 K 1

2016-03-23 10:08:12 357

原创 LintCode:二叉树的后序遍历

给出一棵二叉树,返回其节点值的后序遍历。样例给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3返回 [3,2,1]挑战你能使用非递归实现么?/** * Definition of TreeNode: * public class TreeNode { * public int val;

2015-12-15 16:19:53 360

原创 LintCode:把排序数组转换为高度最小的二叉搜索树

给一个排序数组(从小到大),将其转换为一棵高度最小的排序二叉树。样例给出数组 [1,2,3,4,5,6,7], 返回 4 / \ 2 6 / \ / \1 3 5 7挑战可能有多个答案,返回任意一个即可/** * Definition of TreeNode: * public class Tree

2015-12-15 15:11:55 452

原创 LintCode:两个字符串是变位词

写出一个函数 anagram(s, t) 去判断两个字符串是否是颠倒字母顺序构成的样例:给出 s="abcd",t="dcab",返回 true代码:public class Solution { /** * @param s: The first string * @param b: The second string *

2015-12-11 13:14:40 659

原创 LintCode: x的平方根

实现 int sqrt(int x) 函数,计算并返回 x 的平方根。样例sqrt(3) = 1sqrt(4) = 2sqrt(5) = 2sqrt(10) = 3挑战O(log(x))class Solution { /** * @param x: An integer * @return: The sq

2015-12-08 16:19:02 497

原创 Swap Nodes in Pairs

Given a linked list, swap every two adjacent nodes and return its head.样例Given 1->2->3->4, you should return the list as 2->1->4->3.挑战Your algorithm should use only constant space. Y

2015-12-08 14:39:52 266

原创 二分查找

给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。样例在数组 [1, 2, 3, 3, 4, 5, 10] 中二分查找3,返回2。挑战如果数组中的整数个数超过了2^32,你的算法是否会出错?class Solution {

2015-12-07 11:28:17 604

原创 归并排序的java实现

算法思想:把待排数列分成两部分,排序每一部分,然后将排序后的两部分合并。递归地进行这个过程。时间复杂度:O(N*logN)代码:import java.util.*;class mergeSort { public static int[] sort(int[] theArray, int lowerBound, int higherBound) { int mid = (

2015-12-03 11:33:32 304

原创 斐波纳契数列

要求:查找斐波纳契数列中第 N 个数。所谓的斐波纳契数列是指:前2个数是 0 和 1 。第 i 个数是第 i-1 个数和第i-2 个数的和。斐波纳契数列的前10个数字是:0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...斐波那契数列通项公式:F(n)=F(n-1)+F(n-2)代码(非递归实现):class Solution {

2015-12-01 17:20:20 425

原创 Remove Linked List Elements

要求Remove all elements from a linked list of integers that have valueval.样例Given 1->2->3->3->4->5->3, val = 3, you should return the list as1->2->4->5代码public class So

2015-12-01 16:35:30 315

原创 一个简单的基于数组优先级队列的Java代码

优先级队列与普通的队列相比,区别在于他的数据项按关键字的值有序排列,数据项在插入的时候会按照顺序插入到合适的位置以确保队列的顺序。像普通的队列一样,优先级队列在某些计算机系统中也有很多应用。优先级队列通常使用堆来实现,下列代码是基于数组的一个简单优先级队列的实现。import java.io.*;class PriorityQueue{ private int maxSize; pr

2015-12-01 11:13:49 1058

原创 插入排序的Java实现

算法思想:插入排序基于一个前提条件:局部有序,数列中有一个标记的成员,在这个成员的左边,左右的数据都已经按照顺序排列好了,插入算法要做的就是依次比较标记成员与他左边的数据的值,因为标记成员左边的数据已经有序,所以可以通过比较值来确定标记成员的插入位置。效率:需要平均N*(N-1)/(2*2)次比较,时间O(N²)class insertSort{public static voi

2015-11-27 09:44:51 278

原创 选择排序的Java实现

算法思想:将待排数据从头扫描一遍,从中选出最小值,放在数列最左端,即从数列最左端开始排序效率:选择排序和冒泡排序一样运行了O(N²)时间,但是选择排序进行的交换次数远小于冒泡排序。class selectionSort{public static void main(String[] args){ selectionSortfun();}private static voi

2015-11-25 14:52:05 278

原创 冒泡排序的java实现

冒泡排序(BubbleSort)算法思想:在待排序列中,通过循环比较相邻的两个待排元素,将值大的放到值小的右边,从而使得数列有序。不变性:在许多算法中,有些条件在算法执行时是不变的,这些条件被称为不变性。在冒泡排序中,不变性指外层循环条件out右边的所有数据为有序。效率:交换和比较次数都和N²成正比,运行时间为O(N²)class bubbleSort{

2015-11-25 14:06:45 277

转载 java中的IO操作

在使用io操作之前,先看一下java中的文件类File如何使用。File包括文件和目录,对文件和目录的操作是新建目录mkdir,新建文件createNewFile,删除文件和目录delete,以及其他的一些操作。package zaojiahua;import java.io.File;import java.io.IOException;/* 对文件类的操作 */public c

2015-08-12 13:29:39 311

转载 ListView中convertView和ViewHolder的工作原理

LsitView和Adapter参考:http://www.cnblogs.com/xiaowenji/archive/2010/12/08/1900579.html工作原理: 1.ListView针对List中每个item,要求adapter给我一个视图(getView) 2.一个新的视图被返回并显示如果我们有上亿个item要显示怎么办?为每个项目创建一个新视图?NO

2015-05-27 13:51:21 461

转载 Android StrictMode 检测

StrictMode是Android为了提高性能,当在主线程进行了IO、网络等操作是,进行的严格模式检测。StrictMode有两两种级别的policy检测,Thread和dalvikvm,开启方式如下:    Thread policy:          strictmode.setthreadpolicy(new  strictmode.threadpolicy.builder(

2015-05-22 22:18:46 626

转载 SurfaceHolder.Callback

一  前文概要说明   首先得简单说明一下Surface与SurfaceHolder.Callback之间的联系。   Surface是android的一个重要元素,用于android画面的图形绘制。而SurfaceView是视图(View)的一个继承类,每一个SurfaceView都内嵌封装一个Surface。通过调用SurfaceHolder可以调用SurfaceView,控制图形的尺

2015-05-12 16:00:08 315

转载 浅谈HTTP中Get与Post的区别

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。  1.根

2015-05-11 16:58:43 278

转载 Java中实现多态的机制是什么

靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法。

2015-05-11 15:00:13 342

原创 JAVA中引用数据类型

2015-05-11 14:55:13 314

原创 Android - LayoutInflater

LayoutInflater 是一个抽象类,在文档中如下声明: public abstract class LayoutInflater extends Object 具体作用: 1、对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来载入;2、对于一个已经载入的界面,就可以使用Activiyt.findViewById()方法来获

2015-05-08 21:33:26 282

转载 Activity的四种启动模式

Android之Activity的四种启动模式当应用运行起来后就会开启一条线程,线程中会运行一个任务栈,当Activity实例创建后就会放入任务栈中。Activity启动模式的设置在AndroidManifest.xml文件中,通过配置Activity的属性android:launchMode=""设置。 1. Standared模式(默认)我们平时直接创建的Activity都是这

2015-05-08 15:35:18 308

转载 什么是ANR 如何避免它?

ANR定义     在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择让程序继续运行,但是,他们在使用你的应用程序时,并不希望每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样,系统不会显示ANR给用户。      如

2015-05-08 15:12:28 1793

原创 eclipse 常用快捷键

最常用实用1、Alt + /做为内容辅助提示,估计无人不用,当然它还可以用来做一些快速输入,比如初学者用得最多的System.out.println(),只要输入syso然后按此组合键,就自动完成并且将光标定位到括号内,其实一些常用的一些结构都可以用这个方法输入,比如for, try …catch等等,只要是在preference – java – editor – template中定义

2015-05-08 14:57:06 268

原创 eclipse快捷键

Ctrl + Shift + O: 引入imports语句Ctrl + Shift + T: 打开Open Type查找类文件Ctrl + Shift + F4: 关闭打开的所有窗口Ctrl + Shift + F: 整形Ctrl + Alt + ↓(↑) :向下(上)复制本行 (搞笑)Ctrl + D : 删除本行 Ctrl + O: Open declaration

2015-05-08 13:40:36 255

原创 Android官方开发文档地址

http://developer.android.com/reference官方最全的开发文档,但是好像暂时打不开

2015-05-07 21:09:06 332

JavaSE基础毕向东老师全程笔记.doc

JavaSE基础毕向东老师全程笔记.docJavaSE基础毕向东老师全程笔记.docJavaSE基础毕向东老师全程笔记.docJavaSE基础毕向东老师全程笔记.doc

2017-09-23

Thinking.In.Java中文版

Thinking.In.JavaThinking.In.JavaThinking.In.JavaThinking.In.JavaThinking.In.JavaThinking.In.JavaThinking.In.JavaThinking.In.Java

2017-09-23

大型网站技术架构:核心原理与案例分析

大型网站技术架构:核心原理与案例分析大型网站技术架构:核心原理与案例分析大型网站技术架构:核心原理与案例分析大型网站技术架构:核心原理与案例分析大型网站技术架构:核心原理与案例分析

2017-09-22

编程字体yahei_mono

编程字体yahei_mono编程字体yahei_mono编程字体yahei_mono编程字体yahei_mono编程字体yahei_mono编程字体yahei_mono编程字体yahei_mono

2017-09-22

dbeaver-ee-4.1.0

一个很好用的基于eclipse开发的数据库管理工具一个很好用的基于eclipse开发的数据库管理工具一个很好用的基于eclipse开发的数据库管理工具

2017-09-22

深入理解Java虚拟机

深入理解Java虚拟机深入理解Java虚拟机深入理解Java虚拟机深入理解Java虚拟机深入理解Java虚拟机深入理解Java虚拟机深入理解Java虚拟机深入理解Java虚拟机

2017-09-22

空空如也

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

TA关注的人

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