自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

原创 两个有序数组的中位数

问题一:两个有序数组,且长度都为n。找出中位数。解决这个问题的方法很多。方法一:基于归并排序的merge方法。找出两个数组中第n大的数和第n+1大的数,然后求它们的平均数。时间复杂度为O(n)。方法二:比较两个数组中的中位数的大小。每一次比较都能缩小两个数组的搜索范围。时间复杂度为O(nlgn)。public static double findMedianInSameLeng

2013-03-21 00:37:02 603

原创 数组中第一个没出现的非负整数

给定一个整数数组,里面可能有正数,负数,和0。求最小的没在其中出现的非负整数。输入: 整数数组。输出: 最小的没出现的非负整数。例如:  输入:{2,1,3} 输出0            输入:{5,2,0,1.4,1,2} 输出3            输入:{5,2,3,0,4,1} 输出6思路:遍历数组,把所有元素原神归位,尽量使得a[i] == i。然后再遍历

2013-03-16 00:47:33 1243

原创 一些容易混淆的Java选择题

1. 有以下方法的定义,请选择该方法的返回类型(  D  )  (2013宜搜校园招聘Java笔试题)    ReturnType method(byte x, float) {             return (short) x / y * 2;    }    A、byte      B、short        C、int        D、float2. 不能用来

2012-11-15 19:17:50 548

原创 查找字符串中第一个只出现一次的字符

package Exam;import java.util.HashMap;/** * 2013宜搜校园招聘笔试题 * 查找字符串中第一个只出现一次的字符 */public class FirstOnceChar { /** * 方法一:遍历每个字符,判断这个字符在字符串中第一次出现 * 和最后一次出现的索引是否一样 其实时间复杂度还是O(n^2) */ pu

2012-11-15 19:04:48 535

原创 2013校园招聘java笔试题

记录一些找工作时碰到的笔试题。希望能对大家有帮助。package Exam;import java.util.Date;import java.text.SimpleDateFormat;/* * 2013任子行校园招聘java笔试题 * 把Date类型转成指定格式的String * 把二进制字符串转成int型 */public class DateString {

2012-11-08 10:34:31 1494

原创 匿名内部类的几点说明

1.匿名内部类必须继承一个父类,或实现一个接口,但最多只能继承一个父类,或实现一个接口。2.匿名内部类不能是抽象类,因为系统在创建匿名内部类的时候,会立即创建内部类的对象。3.匿名内部类不能定义构造器,因为匿名内部类没有类名,所以无法定义构造器,但匿名内部类可以定义实例初始化块, 通过实例初始化块来完成构造器需要完成的事情。4.如果匿名内部类需要访问外部类的局部变量,则必须使用fi

2012-11-07 23:58:24 542

原创 堆数据结构总结

一、最小堆(最大堆)package com.ldl.algorithms.Exercise;/************************************************************************* * Compilation: javac MinPQ.java * Execution: java MinPQ < input.txt

2012-06-21 15:03:19 961

原创 最小最大堆(双端堆)的实现(Java版)

最小最大堆是同时实现最小堆和最大堆的一种数据结构。具有以下操作功能:(1)插入操作(O(logN));(2)返回最小值(O(1)),返回最大值(O(1));(3)删除最小值(O(logN)),删除最大值(O(logN))。最小最大堆的根结点是堆中的最小值。把根结点看做是第一层的话,奇数层是最小堆层,也是这些奇数层实现的是最小堆结构,同样,偶数层是最大堆层,偶数层实现最大堆结构。下图

2012-06-21 13:25:38 2588

原创 用最大堆和最小堆实现中位数查找

具体思路:用一个最大堆存放比中位数小(或等于)的元素,用一个最小堆存放比中位数大(或等于)的元素。这里关键的方法是insert(),每当要插入一个元素时,根据判断条件将它插入最大堆或是最小堆,并更新最大堆和最小堆,使得最大堆和最小堆中元素的个数之差不超过1,这样中位数就是最大堆或最小堆的堆顶元素。当最大堆和最小堆中元素个数不同(个数相差为1)时,元素个数多的那个堆的堆顶元素即为中位数;如果两者

2012-06-17 20:30:09 7714 3

原创 归并排序

首先介绍下归并方法。就是把两个已经有序的数组合并成一个更大的有序数组。 // stably merge a[lo .. mid] with a[mid+1 .. hi] using aux[lo .. hi] public static void merge(Comparable[] a, Comparable[] aux, int lo, int mid, int hi) {

2012-06-16 15:33:49 830

原创 各种快速排序算法

在内部排序算法中比较常用的排序算法应该算快速排序了。时间复杂度为N*lgN。然而快排算法的实现又有很多的版本。下面总结一下。一、常规快排算法(以数组中一个元素作为旋转点) // quicksort the subarray from a[lo] to a[hi] private static void sort(Comparable[] a, int lo, int hi) {

2012-06-15 16:49:58 1065

原创 字符串的组合

问题描述:输入一个字符串,输出它的所有组合。例如,输入abc,则输出 a b c ab ac bc abc。分析:如果输入的字符串的长度为n,则这个字符串能构成长度为1的组合、长度为2的组合、……、长度为n的组合。在求n个字符的长度为m(1 /* --- 注释版 --- */#include#include#includevoid Combination(cha

2012-05-28 23:13:58 388

转载 求数对之差最大值

今天在网上看了一个面试题,很有意思!博主讲解的很到位,思路清晰流畅,代码简洁美观。从分治法 到 一种变形 再到 动态规划。看完之后,自己把思路整理了一下,把代码自己巧了一遍。        题目:在数组中,数字减去它右边的数字得到一个数对之差。求所有数对之差的最大值。例如在数组{2, 4, 1, 16, 7, 5, 11, 9}中,数对之差的最大值是11,是16减去5的结果。

2012-05-17 22:30:38 580

原创 不用加法操作符(+)实现加法运算

问题描述:写一个函数,要求不用加法操作符(+)实现加法运算。#include#include#include/* 不用(+)运算符实现两个整数相加 */int add_without_operater(int a, int b);int main(){ unsigned num1 = -3; unsigned num2 = 5; printf("%d\n

2012-05-17 13:48:50 1116

原创 从无头单链表中删除节点

问题描述:假设有一个没有头指针的单链表。一个指针指向此单链表中间的一个节点(不是第一个,也不是最后一个节点),请将该节点从单链表中删除。一般链表的删除需要顺着头结点向下找到当前待删节点的前驱节点,然后让前驱节点指向后驱节点就行了。这里,没有头结点,就没办法找到前驱结点。但我们可以采用“狸猫换太子”的做法。我们把当前结点“看成”是前驱结点,把后续节点当做待删结点删除(删除之前,记下后续结点的值)

2012-05-16 16:22:03 3304

原创 字符串移位包含的问题

问题描述:给定两个字符串s1和s2,要求判定s2是否能够被s1做循环移位(rotate)得到的字符串包含。例如,给定s1=AABCD和s2=CDAA,返回true;给定s1=ABCD和s2=ACBD,返回false。解法一:对s1进行循环移位,再进行字符串包含的判断,从而遍历其所有可能性。#include#includeint rotate_conbine(char *src,

2012-05-16 13:54:16 1236 2

原创 无处不在的二分搜索

二分搜索想必学计算机的人都很熟了,它是很多算法里的都会用到的,编程珠玑里有专门的介绍。二分搜索的框架大家都很熟悉,但要完完整整写对也不是那么容易的事情。这很考验一个人的基本功的,这也是面试官常考的一个问题。下面就对其进行一下总结。       1. 常规写法int BinarySearch(int *a, int l, int r, int z){ if(l > r) ret

2012-05-14 10:21:15 413

原创 一个c指针问题的思考

最近在看K&R的C程序设计语言,对其中一个指针问题颇有疑惑。今天特意在VS2010上运行下其中的代码,以验真假。代码如下                                                                                             int main(int argc, char *argv[]){ cha

2012-04-25 17:04:24 317

原创 一道Twitter编程面试题

Twitter面试题:水沟积水问题问题描述:在这个图片里我们有不同高度的墙。这个图片由一个整数数组所代表,数组中每个数是墙的高度。上边的图可以表示为数组[2,5,1,2,3,4,7,7,6]”“假如开始下雨了,那么墙之间的水坑能够装多少水呢?“在这个图片里我们有不同高度的墙。这个图片由一个整数数组所代表,数组中每个数是墙的高度。上边的图可以表示为数组[2,5,1,2,3,4,7,7,6]”“假如开始下雨了,那么墙之间的水坑能够装多少水呢?”思路分析: 一种只需要一次遍历的方法(注

2013-11-14 11:32:57 1736

原创 学习点滴

1.hibernate的配置文件的放置位置。位置放错了会导致报错,说找不到配置文件。hibernate.cfg.xml一般放在src根目录下

2013-11-08 23:39:04 613

原创 MyEclipse操作集

1. 添加User Libraries. Window -> Preference -> Java -> Build Path -> User Libraries. 举例,我们要自定义一个hibernate库,点击New按钮,新建一个名为hibernate的User Library,然后点击Add JARs按钮添加hibernate所需的JAR包,最后点击OK按钮。

2013-11-08 21:51:49 497

原创 Bugs On J2EE

1. java.lang.Exception: Socket bind failed: [730048] ?????????×???(Э?é/???????/???)????í??原因:tomcat端口被占用。解决方法:通过命令行找到是哪个程序占用了该端口,并关闭相应的程序。开始–运行–cmd 进入命令提示符 输入netstat –ano|findstr “端口号”

2013-11-08 08:50:09 692

原创 学习日记_2013.11.04

常见空白符\f 换页符  \r 回车符 \n 换行符 \t 制表符 \v 垂直制表符

2013-11-04 17:33:06 584

原创 Linked List Cycle II

Given a linked list, return the node where the cycle begins. If there is no cycle, return null.思路分析:假设链表长度为n,循环头与头结点之间的距离为k。1. 让两个指针同时遍历链表,一个步伐为1,另一个步伐为22. 这两个指针相遇时应满足的条件:   i)2s1 = s2(相同时间下,路

2013-11-03 14:16:27 3085 3

原创 Linked List Cycle

Given a linked list, determine if it has a cycle in it.

2013-11-03 11:46:37 5755 2

原创 Stanford--Introduce to Databases(2)

Question 5                Write a query to return the ratings data in a more readable format: reviewer name, movie title, stars, andratingDate. Also, sort the data, first by reviewer

2013-07-05 10:30:13 807

原创 Stanford--Introduce to Databases(1)

SQL Movie-Rating Query Exercises (core set) You've started a new movie-rating website, and you've been collecting data on reviewers' ratings of various movies. There's not much data yet, but you c

2013-07-05 10:19:28 1691

原创 关系代数 —— 除法

2013-06-21 23:56:51 577

原创 字符串编辑距离

给定一个源串和目标串,能够对源串进行如下操作:   1.在给定位置上插入一个字符   2.替换任意字符   3.删除任意字符写一个程序,返回最小操作数,使得对源串进行这些操作后等于目标串,源串和目标串的长度都小于2000。输入:两个字符串,一个源串,一个目标串输出:最小操作数解题思路:动态规划算法求解,其中状态转移方程是:f[i, j] = min {f[i-1,

2013-03-22 20:52:48 526

原创 最长合法括号序列

题目描述:给你一个长度为N的,由’(‘和’)’组成的括号序列,你能找出这个序列中最长的合法括号子序列么?合法括号序列的含义便是,在这个序列中,所有的左括号都有唯一的右括号匹配;所有的右括号都有唯一的左括号匹配。例如:((()))()()便是一个长度为10的合法括号序列,而(()))( 则不是。需要你求解的是,找出最长的合法括号子序列的长度,同时找出具有这样长度的序列个数。输入:

2013-03-19 20:55:26 2065

原创 打印从0到1000的所有素数

打印从0到1000的所有素数public class Prime { static public int counter = 0; public static void printPrime(int start, int end) { for (int i = start; i <= end; i++) { if (isPrime(i)) { Syst

2013-03-19 17:48:55 990

原创 斐波纳契数列(递归实现)

已知斐波纳契数列如下:F[1] = 1, F[2] = 1, F[3] = 2, F[4] = 3, ..., F[n] = F[n-1] + F[n-2],那么请问F[34] + F[32] == ?解题思路:运用HashMap存储已经计算过的斐波那契数,这样可以大量减少重复的计算。import java.util.HashMap;import java.util.Map;p

2013-03-19 16:34:08 665

原创 字符串循环右移

定义字符串循环右移操作:把一个长度为N的字符串内的元素循环右移K位,要求时间复杂度为O(N),空间复杂度为O(1),请编写代码实现。输入样例:N=8的字符串abcdefgh;输出样例:K=4,即字符元素右移4位,得到efghabcd。解题思路:运用编程珠玑中讲到的 “三次翻手” 原理。public class Translator { public static void ri

2013-03-19 16:08:35 1679 1

转载 GC工作原理

Java的内存管理实际上就是对象的管理,其中包括对象的分配和释 放。  对于程序员来说,分配对象使用new关键字;释放对象时,只要将对象所有引用赋值为null,让程序不能够再访问到这个对象,我们 称该对象为"不可达的".GC将负责回收所有"不可达"对象的内存空间。  对于GC来说,当程序员创建对象时,GC就开始监控这个对象的 地址、大小以及使用情况。通常,GC采用有向图的方式记录和

2012-11-08 09:20:36 4901

转载 JDK,JRE,JVM这三者的联系与区别

转自 http://cache.baidu.com/c?m=9d78d513d99b01f84fede5265b4fc066680cc43c2bd6a00209d0843be4732b305011e5ac26520774d4d20d6116ae394b9afb21043d1451c38cb88f5e9afbcc2775ce6176671df55c0f8347f29e5125b623945bfeaf

2012-11-07 12:17:21 509

原创 装饰者模式

定义:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。  结构图: Component: 定义一个对象接口,可以给这些对象动态地添加职责。 public interface Component{ void operation();} Concrete Component: 定义一个对象,

2012-09-10 15:41:51 236

原创 打印一个勾(c实现)

C语言程序设计现代方法第二章中的一个习题。看起来很简单,但自己编的时候还是发现很多问题,一步一步调试最后才搞定了。这让我加深了对“程序是编出来的”这句话的理解。下面贴上代码,有兴趣的朋友可以自己敲一下代码。#include/* 空n格打印一个星 */void printStar(int n){ int i; for(i = 0; i < n; i++) printf(

2012-07-05 19:34:56 1169

原创 翻转字符串Java实现

public static String reverse(String s) { int N = s.length(); if(N <= 1) return s; String left = s.substring(0, N/2); String right = s.substring(N/2, N); return reverse(ri

2012-06-29 17:50:58 319

原创 具体数学 第四章 数论

4.1 可除性m整除n,或说n能被m整除    m\n    m>0 and n = mk for some integer k.   (4.1)两个整数(m和n)的最大公约数是能同时整除这两个整数的最大整数    gcd(m, n) = max{k | k\m and k\n}.                       (4,2)最小公倍数的概念    lcm(m,

2012-06-23 02:11:16 748

转载 Eclipse中快捷键功能

转载:http://hi.baidu.com/flyx100/blog/item/ca403e2f8d73233f1f3089a7.htmlEclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。    1. 【ALT+/】    此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和

2012-06-05 21:17:21 435

windows_exporter-0.13.0-amd64.msi.zip

prometheus windows node server exportor, windows采集器

2020-08-21

Java核心技术卷1+卷2(第8版)全部源代码

Java核心技术卷1+卷2(第8版)全部源代码 内容很全

2011-10-11

空空如也

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

TA关注的人

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