上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页

2012年8月19日

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

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

posted @ 2012-08-19 19:42 AllenZhao 阅读(297) 评论(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 阅读(151) 评论(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 阅读(169) 评论(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 阅读(1568) 评论(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 阅读(326) 评论(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 阅读(136) 评论(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 阅读(415) 评论(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 阅读(1431) 评论(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 阅读(226) 评论(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 阅读(161) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页

导航