- 博客(43)
- 资源 (36)
- 问答 (5)
- 收藏
- 关注
原创 Java学习笔记-笔试考点
java笔记1》,java关键字必须以$ _ 字母开头2》,is-a是指类之间的继承关系;has-a是指对象和成员之间的从属关系(类中必须定义成员)3》,静态方法静态代码块public class Static {static{int x=5;}static int x,y;public static void main(String[] a
2016-03-30 11:46:51 977
原创 Java学习笔记-泛型
一、为什么要使用泛型-----1》泛型意味着编写的代码可以被许多不同类型的对象所重用-----2》编译时,避免了插入错误的数据对象;使得程序具有更好的可读性和安全性二、定义简单泛型:ArrayList array=new ArrayList();三、泛型方法-----1》public static T getname(T...a){};-----2》类型
2016-03-17 20:36:04 403
原创 Java学习笔记-异常
一、处理错误---》异常分类Error类:描述了Java运行时系统的内部错误和资源耗尽错误(程序不应该抛出)(未检查异常)Exception类:分为两类:一个是RuntimeException类,另一个是表示其他错误其中-------1》RuntimeException:包括错误的类型转换,数组访问越界,空指针(属于编程人员的问题)(未检查异常)----------
2016-03-17 18:49:09 381
原创 Java学习笔记-继承
一、多态---1》对象变量是多态的:一个类对象既可以引用本类对象,也可以引用子类对象:Employee e;e=new Employee()或e=new Manager();--->这种多态不能反转---2》动态绑定:****再覆盖一个方法是,子类方法不能低于超类方法的可见性,即,超类是public,子类必须是public(而不能是private)-
2016-03-16 22:36:35 1671
原创 Java学习笔记-对象与类
一、类之间的关系: —1》依赖:uses-a 订单-计数器 —2》聚合:has-a 书架-书 —3》继承:is-a 动物-猫二、预定义类 —1》对象和对象变量:对象变量并没有实际包含一个变量,二仅仅是引用一个变量。 —-》例
2016-03-16 21:12:08 517
转载 Java并发编程:volatile关键字解析
Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模
2016-03-15 17:07:35 617
原创 剑指offer-和为S的两个数字
题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 分析:左右相逼乘积最小证明: * 假设:找到两组满足条件的数组对(x,y)、(x+a,y-a),其中(x+y=S, 0 * x*y-[(x+a)(y-a)] * =x*y-x*y-(y-x)a+a2 *
2016-03-15 12:23:29 591
原创 剑指offer-和为S的连续正数序列
题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 输出描述:输出所有和为S的
2016-03-15 11:48:23 604
原创 剑指offer-两个链表的第一个公共节点
题目延伸:编程之美中的求两个节点是否相交:将两个节点串在一起,若有节点,串在一起的节点就会出现环,利用一二不长不等,两个节点在环中必然相遇。本题描述:输入两个链表,找出它们的第一个公共结点。分析:一个简单的方法是:首先遍历两个链表得到它们的长度,就能知道哪个链表比较长,以及长的链表比短的链表多几个节点。在第二次遍历的时候,先在较长的节点上走若干步,接着同时在两个链表上遍
2016-03-15 11:18:41 756
原创 剑指offer-数字在排序数组中出现的次数
题目描述统计一个数字在排序数组中出现的次数分析(转载):举例说明例如输入排序数组{ 1, 2, 3, 3, 3, 3, 4, 5}和数字3 ,由于3 在这个数组中出现了4 次,因此输出4 。解题思路 利用改进的二分算法。 如何用二分查找算法在数组中找到第一个k,二分查找算法总是先拿数组中间的数字和k作比较。如果中间的数字比k大,那么k只
2016-03-15 10:38:27 640
原创 剑指offer-第一次只出现一次的字符位置
题目描述在一个字符串(1分析:1》先遍历一次,利用哈希表记录每一个字符的数目 2》在遍历一次,找到字符数目等于1的字符位置细节:字符(char)是一个长度为8的数据类型,共有256种可能,数组为256大小,字符个数太多需要用longpublic class Solution { public int FirstNotRepeatingChar(St
2016-03-15 00:01:40 637
原创 剑指offer-丑数
题目描述把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。思路:(时间换空间)我们考虑一个数组,数组存储的是当前的丑数,以后的每个丑数,都是用之前的数组的元素相乘的来的。接下来就是如何得到后面的丑数并保证它是有序的。 可以想到,数组的
2016-03-14 23:43:01 906
原创 java学习笔记-接口与内部类
一、定义 接口:接口用来描述具体的功能,但并不给出功能的具体实现 内部类:处于另一个类的内部,其中的方法可以访问外部类的域,内部类技术主要用来设计具有相互协作的类集合二、接口(没有实例域的抽象类)(instanceof也可以用于接口) –1》接口中的方法自动属于public,不必提供关键词 –2》接口中不能包含实例域和静态方法,却可以包含常量
2016-03-14 22:27:46 711
原创 java学习笔记-多线程
基础知识:操作系统将CPU的时间片分配给每一个线程使用,给人一种并行处理的感觉。多进程和多线程的区别:每个进程都有自己的一整套不变量(独立代码和数据空间),进程切换开销大含多个线程;而线程共享数据,每一个线程都有自己独立的运行栈和程序计数器,线程切换开销小多线程是为了提高CPU的利用率。--》在java中,每次运行一个程序都会启动两个线程:一个是main线程,一个是JVM垃圾收集器
2016-03-14 16:41:03 602
原创 java学习笔记-集合
集合类的基本接口是collection接口(集合中不予许有重复的对象)和Map接口:(设计模式:接口隔离原则)---》这个接口的两个基本方法是:add();Iterator():实现了Iterator接口,next()方法和hasnext()方法需要联合使用; 这里的两个方法其实是和enumeration接口的nextElement和hasMoreElement方法一致
2016-03-13 22:49:17 700
原创 剑指offer-反转链表
题目描述输入一个链表,反转链表后,输出链表的所有元素。方法1:将单链表储存为数组,然后按照数组的索引逆序进行反转。 方法2:使用三个指针遍历单链表,逐个链接点进行反转。 方法3:从第2个节点到第N个节点,依次逐节点插入到第1个节点(head节点)之后,最后将第一个节点挪到新表的表尾。/*public class ListNode
2016-03-13 13:43:45 534
原创 剑指offer-链表中倒数第k个结点
题目描述输入一个链表,输出该链表中倒数第k个结点。分析(转载):为了得到倒数第k个结点,很自然的想法是先走到链表的尾端,再从尾端回溯k步。可是输入的是单向链表,只有从前往后的指针而没有从后往前的指针。因此我们需要打开我们的思路。既然不能从尾结点开始遍历这个链表,我们还是把思路回到头结点上来。假设整个链表有n个结点,那么倒数第k个结点是从头结点开始的第n-k-1个结点(从
2016-03-13 13:41:58 536
原创 剑指offer-二进制中1的个数
题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。public class Solution { public int NumberOf1(int n) {int num=0; while(n!=0){ n=n&(n-1); num++; }
2016-03-13 13:37:48 553
原创 剑指offer-矩形覆盖
题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?解题思路(转载): 观察题目中的矩形,2*n的,是个长条形。本来脑中想象的是复杂的华容道,但是既然只是简单的长条形,那么依然逆向分析。既然是长条形的,那么从后向前,最后一个矩形2*2的,只有两种情况: 第一种是最后是由一个2*(n
2016-03-13 13:36:12 628
原创 剑指offer-二叉搜索树与双向链表
题目:输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建新的结点,只能调整树中结点指针的指向。比如如下图中的二叉搜索树,则输出转换之后的排序双向链表为:在二叉树中,每个结点都有两个指向子节点的指针。在双向链表中,每个结点也有两个指针,他们分别指向前一个结点和后一个结点。由于这两种结点的结构相似,同时二叉搜索树也是一种排序的数据结构,因此在理论上有可
2016-03-13 13:25:53 624
原创 剑指offer-复杂链表的复制
题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点)。解题思路(转载自网上):图 4.8 是一个含有 5 个结点的复杂链表。图中实线箭头表示 next 指针,虚线箭头表示 sibling 指针。为简单起见,指向 null 的指针没有画出。在不用辅助空间的情况下实现 O(n)的时间效率。第
2016-03-13 13:19:07 735
原创 剑指offer-构建乘积数组
题目描述给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。数组B[]存放A[i]之前各值的乘积,数组C[i]存放A[i]之后各值的乘积,两个相乘即可。import java.util.ArrayList;public cl
2016-03-12 14:59:15 565
原创 剑指offer-不用加减乘除做加法
题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。public class Solution { public int Add(int num1,int num2) { int sum=0; int carry=1; do{ sum=num1^num2;
2016-03-12 14:28:34 535
原创 剑指offer-二叉树的深度
题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) {
2016-03-12 14:13:38 362
原创 剑指offer-平衡二叉树
题目描述(做了这么多,提一点:java都是值传递,多以必须构造对象来使前后值对应变化)输入一棵二叉树,判断该二叉树是否是平衡二叉树1、重复遍历结点参考上一题求二叉树的深度,先求出根结点的左右子树的深度,然后判断它们的深度相差不超过1,如果否,则不是一棵二叉树;如果是,再用同样的方法分别判断左子树和右子树是否为平衡二叉树,如果都是,则这就是一棵平衡二叉树。
2016-03-12 14:11:51 681
原创 剑指offer-连续子数组的最大和----编程之美-连续子数组的最大和
题目描述(剑指offer):输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。public class Soluti
2016-03-12 13:07:56 1257
原创 剑指offer-二叉搜索树的后序遍历序列
题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。例如输入数组{5,7,6,9,11,10,8}则返回true,因为这个整数序列是下图二叉树的后序遍历的结果。如果输入的数组是{7,4,6,5},由于没有哪颗二叉搜索树的后续遍历的结果是这个序列,因此返回false。
2016-03-11 10:44:17 806
原创 剑指offer-从上往下打印二叉树
题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。例如输入下图的二叉树,则一次打印出8,6,10,5,7,9,11.这道题实质上考察的就是树的遍历算法,只是这种遍历不是我们熟悉的前序、中序或者后序遍历。由于我们不太熟悉这种按层遍历的方法,可能已下载也想不清楚遍历的过程。因为按层打印的顺序决定应该先打印的根节点,所以我们从树的根节点开始分析
2016-03-11 10:14:49 883
原创 剑指offer-栈的压入、弹出序列(标志:++)
题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。解题思路:解决这个问题很直观的想法就是建立一个辅助栈,把输入的第一个序列中的数字依次压入该辅助栈,并
2016-03-09 14:19:02 739
原创 剑指offer-包含min函数的栈
题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数分析(分析转载自此网页):google的一道面试题。我看到这道题目时,第一反应就是每次push一个新元素时,将栈里所有逆序元素排序。这样栈顶元素将是最小元素。但由于不能保证最后push进栈的元素最先出栈,这种思路设计的数据结构已经不是一个栈了。在栈里添加一个成员变量存放最小元素(或最小元素的
2016-03-09 00:18:03 892
原创 剑指offer-顺时针打印矩阵
题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 例如输入以下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字
2016-03-07 20:04:03 484
原创 剑指offer-二叉树镜像
题目描述操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7
2016-03-07 19:00:01 470
原创 剑指offer-判断B是不是A的子结构
题目描述输入两颗二叉树A,B,判断B是不是A的子结构。public class Solution001 { boolean result=false; //先找到root1中是否有root2根节点元素相同值,相同就进入nextHasSubtree public boolean HasSubtree(TreeNode root1,TreeNode root2) { bool
2016-03-07 18:29:00 589
原创 剑指offer-调整数组顺序使奇数位于偶数前面
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分1》当不考虑奇数与奇数,偶数与偶数的相对位置时:public class Solution { public static void main(String[] args) { int[] array={1,4,6,8,53,756};
2016-03-07 17:17:54 846
原创 Java面试常考知识点
1》什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? ------------Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其
2016-03-07 16:32:58 1388
转载 getAttribute()与getParameter的区别
当两个Web组件之间为转发关系时,转发源会将要共享 request范围内的数据先用setAttribute将数据放入到HttpServletRequest对象中,然后转发目标通过 getAttribute方法来取得要共享的数据。而MVC中用的就是Web组件之间的转发。 下面整理一下getParameter和getAttribute的区别和各自的使用范围。(1)HttpServletRe
2016-03-07 11:26:24 528
原创 HashMap、LinkedHashMap、Hashtable和TreeMap用法和区别
Java为数据结构中的映射定义了一个接口java.util.Map,它有四个实现类,分别是HashMap、HashTable、LinkedHashMap和TreeMap。本节实例主要介绍这4中实例的用法和区别。一般情况下,我们用的最多的是HashMap,在Map 中插入、删除和定位元素,HashMap 是最好的选择。但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。如果需要
2016-03-07 10:04:02 762
转载 Could not create the view: An unexpected exception was thrown.问题解决
今天打开Myeclipse10的时候,发现server窗口出现一堆问题,问题如标题,然后下方出现了一堆java.lang.NullPointerException的问题。java.lang.NullPointerException at com.genuitec.eclipse.ast.deploy.core.Deployment.(Unknown Source) at
2016-03-07 08:35:45 709
转载 Java的native方法
第一篇:一. 什么是Native Method 简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。
2016-03-06 11:08:59 746
原创 Java异常
** 1.JAVA异常**![JAVA异常](http://img.blog.csdn.net/20160306103546259)Throwable是所有异常的根,java.lang.ThrowableError是错误,java.lang.ErrorException是异常,java.lang.Exception在 Java 中,所有的异常都有一个共同的祖先 Th
2016-03-06 10:43:57 466
An_Introduction_to_Voice_Computing_in_Python
2019-01-24
风控算法大赛解决方案
2017-10-31
Adaboost 算法的原理与推导
2017-10-31
技术之瞳+阿里巴巴技术笔试心得
2017-09-22
sqljdbc4.jar
2017-07-14
opencv_python-3.2.0+contrib-cp35-cp35m-win_amd64.whl
2017-06-15
统计自然语言处理
2016-09-30
JAVASCRIPT实例自学手册
2016-09-30
jsp中连接跳转丢失项目名
2018-05-10
Java中如何动态修改JFrame的内容?
2017-05-06
Java中如何根据我点击的按钮呈现不同的JTable样式(一个JFrame中)?
2017-04-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人