2012年8月19日

创建二叉树

摘要: 创建二叉树2011年6月11日21:28有以下4点1:树本身有一个根节点root2:静态内部类Node,其中有左子节点,右子节点,以及构造方法。3:还有insert方法,将节点插入到数的root下4:最后是一个构建树的方法5:再往下就可以是对节点的操作方法了。public class BinaryTree {private Node root; /*定义一个静态内部类,Node节点*/public static class Node {Node left;Node right;int data; Node(int newData) {left = null;right = null;data 阅读全文

posted @ 2012-08-19 19:49 AllenZhao 阅读(756) 评论(0) 推荐(0)

同学PB经历的面试题

摘要: 7.15云壤笔试:1小时。4个选择题,概率+多线程+排序+C++程序找错;2个编程题,LCA问题,3种方法,单链表相邻交换,Data类型不可copy constructor。1面:1小时。整数组,前k大,写完整的堆程序;一个int型数,求其二进制中1的个数,更优?;两个单链表交叉不?中心点?(Y型)2面:1小时。N*M二维数组,“蛇形”打印程序,4种状态;Decorator设计模式;Linux堆内存空间分配程序,链表,小心。Offer9.07情感分析和文本处理算法笔试:c/c++基础部分。c++的析构函数为何为虚函数?C++的string类实现?(strlen,strcpy)给的N,M,实现二 阅读全文

posted @ 2012-08-19 19:47 AllenZhao 阅读(883) 评论(0) 推荐(0)

不借助第三方变量,将x,y两个变量的值互换。

摘要: public static void change (int x, int y){//要求://不借助第三方变量,将x,y两个变量的值互换。}正解:public static void change (int x, int y){ x = x + y; y = x - y; x = x - y;}还可以用亦或操作。 阅读全文

posted @ 2012-08-19 19:47 AllenZhao 阅读(213) 评论(0) 推荐(0)

2012/7/9Intel面试题目

摘要: 今天去Intel面试,是由同学内推的。面试的职位是做Openstack方面的python开发。问了以下的问题,感觉收获比较大的,是:要从高层次上面掌握知识!!!1:exception方面的知识,异常分为几种,分别是怎么处理,每一种都有哪些,IOException是那种?还有几种级别的异常 ----Runtime还有非Runtime的。2:String为什么是final类型的-----为了线程安全3:final的类还有方法,不可变类。HashTable是不可变类。4:关于Policy5:openstack的imaging6: hashcode方法和equals方法,为什么要重写hashcode. 阅读全文

posted @ 2012-08-19 19:46 AllenZhao 阅读(244) 评论(0) 推荐(0)

redhat面试题目

摘要: 1:split方法,里面split(“\s”);这样子会出现编译错误,而不是抛出异常。2:has-a和is-a的关系3:序列化相关知识4:StringBuffer的delete和insert和substring方法 StringBuffer中方法只有subString方法返回string类型,其它的方法都可以在本身操作,返回的是StringBuffer类型。5:并发环境下事务的处理,J2EE的标准JTA6:System.out.println(1 + 2 + "2" + new Integer(3) + new Long(4));这个的返回值是3234,在字符串后面的才都当 阅读全文

posted @ 2012-08-19 19:45 AllenZhao 阅读(377) 评论(0) 推荐(0)

一些笔试题目和整理的答案 - 腾讯(Tencent)

摘要: 一些笔试题目和整理的答案 - 腾讯(Tencent)NO1Below is usual way we find one element in an arrayconst int *find1(const int* array, int n, int x){ const int* p = array; for(int i = 0; i const T *find1(const T* array, int n, T x){ const T* p = array; for(int i = 0; i class Stack{public:Stack(int = 10) ;~Stack() { dele 阅读全文

posted @ 2012-08-19 19:44 AllenZhao 阅读(153) 评论(0) 推荐(0)

面向对象

摘要: 面向对象的三大特征:封装、继承、多态。1、封装封装是面向对象的特征之一,是对象和类概念的主要特性。封装就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。2、继承继承是面向对象编程(OOP)语言的一个主要功能。继承是指一种能力:它可以使现有类的所有功能,子类可以来直接继承使用,并在无需重新编写原来类的情况下对这些功能进行扩展 。3、多态多态性是允许你将父对象设置成为一个或多个子对象相等的技术,父对象通过赋值不同子对象类型指针的运作方式,来实现不同的运作方式。面向对象可以使你的程序更加可维护、可复用、可扩展及更具灵活性。面向对象的好处使用面 阅读全文

posted @ 2012-08-19 19:43 AllenZhao 阅读(285) 评论(0) 推荐(0)

split函数 字符串反转

摘要: 题目如下:String str = " i am a programmer";其中空格个数分别是1,2,3个要求按照单词反转,也就是最后输出“programmer a am i"; 空格数分别为3,2,1。1:用split函数方式:[java]view plaincopyprint?publicstaticvoidreverse(){Strings="iamaprogrammer";//几个空格的数量分别为1,2,3String[]eg=s.split("",-1);Stringresult="";for 阅读全文

posted @ 2012-08-19 19:42 AllenZhao 阅读(573) 评论(0) 推荐(0)

给定一个字符串,包含中文字符和英文字符,取给定大小字节的子串。

摘要: 题目如下:给定一个字符串,包含中文字符和英文字符,取给定大小字节的子串。 代码如下:[java]view plaincopyprint?importjava.io.UnsupportedEncodingException;publicclassCutString{/***判断是否是一个中文汉字*@paramc*@returntrue表示是中文汉字,false表示是英文字符*@throwsUnsupportedEncodingException*/publicstaticbooleanisChineseChar(charc)throwsUnsupportedEncodingException{. 阅读全文

posted @ 2012-08-19 19:42 AllenZhao 阅读(305) 评论(0) 推荐(0)

删除数组中的重复元素

摘要: 方案1:用set也很容易的publicstaticvoidmain(String[]args){int[]nums={5,6,6,6,8,8,7};ListnumList=newArrayList();for(inti:nums)numList.add(i);SetnumSet=newHashSet();numSet.addAll(numList);System.out.println(numSet);}方案2:[java]publicstaticvoidmain(String[]args){String[]s={"1","10","15&qu 阅读全文

posted @ 2012-08-19 19:40 AllenZhao 阅读(156) 评论(0) 推荐(0)

不使用除法,线性复杂度给数组赋值

摘要: 一个长度为n的数组a[0],a[1],...,a[n-1]。现在更新数组的名个元素,即a[0]变为a[1]到a[n-1]的积,a[1]变为a[0]和a[2]到a[n-1]的积,...,a[n-1]为a[0]到a[n-2]的积。程序要求:要求具有线性复杂度。不能使用除法运算符privatevoidtransfer(int[] a){intn = a.length;int[] b =newint[n];int[] c =newint[n]; b[0] = 1; c[n-1] = 1;for(inti=1; i<n; i++) { b[i] = b[i-1]*a[i-1]; c[n-i-1] 阅读全文

posted @ 2012-08-19 19:40 AllenZhao 阅读(175) 评论(0) 推荐(0)

不用运算符比较两个int数的大小

摘要: 其实出现问题的情况,只存在于异号两数想减使得结果超过了int型的最大或最小值,因此导致了符号位丢失。所以在这个基础上想到了转型。就是把int型转成long型的,那么符号位就保存在了第64位上了,同时也不会丢失符号位。贴代码(借鉴了一个网友的方法,用数组来存结果,这样就不用==比较符了。这个方法在Core Java中经常用到。):view plainprint?publicclassBigger{publicstaticvoidmain(Stringargs[]){inta=-2147483648;intb=2147483647;String[]strArray={"a>=b&q 阅读全文

posted @ 2012-08-19 19:39 AllenZhao 阅读(1596) 评论(0) 推荐(0)

各个实习公司面试题目

摘要: 1:yahoo全球研发中心面试题目:A:n个信封对应n个邮箱,问至少有一个放对的概率是多少?(数学概率题)B:一个list,里面的每一个元素都是u=2x3y5z,其中x,y,z的取值都是从0到正无穷设计一个算法,找到第500个数据。这list里面的数值是按照从小到大排列好的。答案:把满足x+y+z=x那么,根据这个关系画出图来,看看占的面积是多少,占总的面积是多少,那么就可以算出概率来了。F:对于一个m×n的方格矩阵,从左上角走到右下角,只能向右或者向下走,一共多少走法?自己当时的解答:只是考虑向下走或者向右走在那些方格里就可以。2:搜狐研发中心1数据结构类题目:A:按层次遍历打印二 阅读全文

posted @ 2012-08-19 19:39 AllenZhao 阅读(334) 评论(0) 推荐(0)

不要被阶乘吓到

摘要: 这一节有两个问题:给定一个整数N,那么N的阶乘N!末尾有多少个0?求N!的二进制表示中最低位1的位置。对于第一个问题,其实就是计算N!中有多少个质因子5,因为所有的0末尾的0都是5和偶数相乘产生的,而偶数出现的频率要远远高于5出现的频率,所以只要计算N!中又多少个5。最直接的向下面到的代码:intFunc1(intn){intcount =0;for(inti=n; i>0; i--){inttemp = i;while(temp %5==0){count++;temp /=5;}}returncount;}上面的代码复杂度很高,要降低复杂度可以对N循环的除以5的一次方,二次方……,直到 阅读全文

posted @ 2012-08-19 19:38 AllenZhao 阅读(142) 评论(0) 推荐(0)

位向量

摘要: 位向量2011年2月23日22:52位向量和排序2009-04-14 17:44对于排序问题,想必大家都非常熟悉。而且,应该都知道基于比较的排序方法的时间复杂度的下界是O(n*logn)。尽管又出现了基数排序,使得排序类算法的时间复杂度改进到O(d*n),但是基数排序方法实现起来还是比较麻烦的。下面这种排序方法的时间复杂度可以认为是O(n),但是和基数排序方法相比,它的实现非常简单。为了介绍这种方法,需要对输入数据作如下假定:(1)都是非负整数,(2)每个整数最多出现一次,(3)最大整数小于n。这种方法采用哈希函数的思想,用一个整型数组array[n]来实现对输入数据的排序工作。具体点就是:( 阅读全文

posted @ 2012-08-19 19:34 AllenZhao 阅读(430) 评论(0) 推荐(0)

锦标赛算法

摘要: 思路: K阶锦标赛算法例如:一个赛马场有100匹马,5条赛道,至少要比赛多少场才能选出跑得最快的10匹马?步骤:1. 将100匹马分成20次比赛,每次5匹马,并保存每次比赛的结果(即第1名到第5名的顺序)2. 从胜利的20匹马分成4次比赛,每次5匹马,并保存每次比赛的结果(即第1名到第5名的顺序)3. 对最后的4匹马进行比赛,并保存每次比赛的结果(即第1名到第4名的顺序)即通过以上3个步骤,其实已经建立一个4层的树结构。并且已经得到第1名A4. 在4层树结构中,挑出与A比过赛的且失败的,且是第2名的马(不超过5位),挑选出第2名B在此过程中,可以想象将A删除,并在比较过程中恢复树结构依次轮推, 阅读全文

posted @ 2012-08-19 19:27 AllenZhao 阅读(1500) 评论(0) 推荐(1)

JDBC知识点笔记

摘要: 1:编程步骤2:CallableStatement2011年10月23日22:49就是用来调用数据库里面的存储过程。registerOutParameter表明输出参数,指定类型以及第几个?号。三 批处理 Batch四 Transaction2011年10月23日22:54要么同时完成,要么同时不完成。首先把setAutoCommit(false),这样就不自动提交了。最后执行commit()然后setAutoCommit(true)上面都是从conn调用的。五 处理可移动的结果集六 存储访问大段文本数据varchar最大255个。如果非常大的,那么可以用TEXT类型。reader是访问字符流 阅读全文

posted @ 2012-08-19 19:22 AllenZhao 阅读(233) 评论(0) 推荐(0)

JDBC之简介

摘要: 5、JDBC的APIjava.sql包和javax.sql包DriverManager类(驱动管理器),它可以创建连接,它本身就是一个创建Connection的工厂(Factory)。Driver接口入口Connection接口,会根据不同的驱动产生不同的连接Statement接口,发送sql语句ResultSet接口(结果集),是用来接收select语句返回的查寻结果的。其实质类似于集合。以上的资源都需要释放,释放的是数据库的资源JDBC应用步骤1,注册加载一个driver驱动2,创建数据库连接(Connection)3,创建一个Statement(发送sql)4,执行sql语句5,处理sq 阅读全文

posted @ 2012-08-19 19:17 AllenZhao 阅读(171) 评论(0) 推荐(0)

Struts2 helloWorld

摘要: 3、HelloWorld准备2011年5月3日9:181:创建Web Project后,在MyEclipse里面的window下的preferences里面配置好tomcat的路径还有JRE的路径。2:下载的struts的包,要看里面的例子3:把struts.xml文件拷贝到src包下,不要放在WEBINFO下面,因为编译后,struts配置文件就会自动的放到webinfo下面4:拷贝过去lib5:找到例子中的filter拷贝过去6:如果用开发模式的话,要把前面的拷贝到新建的前面,表示开发模式,把value值设置为true。7:查看struts这个的源码右键工程,属性,找到Java sourc 阅读全文

posted @ 2012-08-19 19:14 AllenZhao 阅读(272) 评论(0) 推荐(0)

Struts2基础知识

摘要: 一 概述struts2配置文件有两种:配置action的struts.xml和配置全局属性的struts.properties。Struts.xml文件定义了一些列的action,定义action的时候指定action的指定类,并定义该action处理结果与视图资源之间的映射关系。struts2的核心是控制器组件。A:FilterDispatcherB:业务控制器Action二 命名空间2、package,相当于为了区分里面不同的action的重名的情况3、就是说,想要访问某一个action,那么必须加上namespace的值,那么这里要访问的话就是/front/indexresult如果不写 阅读全文

posted @ 2012-08-19 19:13 AllenZhao 阅读(276) 评论(0) 推荐(0)

导航