- 博客(93)
- 资源 (3)
- 收藏
- 关注
原创 Http 请求偶发400错误
2) 通过异常堆栈,找到对应的异常代码逻辑org.apache.coyote.http11.Http11InputBuffer.parseHeader(), 可以发现tomcat是按数据包的字节流处理header的。当第二个数据包到达时,会对回车和换行符进行处理,但是由于tomact 9.0.31版本对LF处理有问题,当一个字符是LF时,被当作普通字符拼接到之前的数据流的末尾。2) 0x0d0x0a 作为回车换行符号,没有被正确处理,导致header的截断错误。prevChr=0, 但是chr=LF,
2024-04-15 18:06:37
1361
2
翻译 Java transient 关键字
transient 是用于序列化的变量修饰符。在序列化的时候,如果不想保存一个特殊的变量到文件中,那么应该在文件中使用transient修饰符。 当JVM碰到transient修饰符的时候,就会忽略原始值,而保存变量的默认值。transient在安全性上扮演了重要的角色,我们可以不保存私密数据到文件中。 另外一个使用场景是,transient可以不序列化那些可以被重新计算出来的...
2019-09-13 14:55:50
254
翻译 Java final 关键字
Java final关键字是一个非访问权限修饰符(non-access modifier),他可以用于变量(variable),方法(method)或者类(clas是)。Final VariablesFinal Variables -> 用于构造一个常量(constant variables),所以必须初始化一个final variables。 注意:如果variables是一...
2019-09-10 22:58:35
208
原创 Java static
staticJava中static 关键字主要用于内存管理(memory management),我们可以使用static修饰变量(variables),方法(methods),代码块(block),和内部类(nested class)。 static修饰的代码属于类,而不属于类的实例(The static keyword belongs to the class than an instan...
2019-09-09 23:24:09
205
原创 想成为Google工程师?先回答这15个面试问题【这只是一必要条件】(六)
7. 给你一个字符串,找出包含给定字符集的最小窗口 找到最小的窗口,首先这个窗口只有长度,没有宽度。因此我们可以假设两个滑块a, b;起初先让a,b都在文本的开头,为了记录区域内文本出现的字符的个数,我们声明一个数组arr。先让b从文本头往后滑动,如果字符在选定字符内部,则在arr相应的位置+1,直到第一次找到一块区域包含了所有的字符,即arr中每个元素都大于0。此时,滑动a,直到第一
2012-02-22 22:25:18
1014
原创 想成为Google工程师?先回答这15个面试问题【这只是一必要条件】(五)
6.从一大块文本中去掉重复的行 关于这道题的想法有四个: 第一,读入一个字符串与前面的每一个字符串比较,如果存在,删除,不存在,打印。时间复杂度O(n*n*K),K为比较字符串的时间。代码如下://the program used to trick the text which have duplicate line#include #include #include #
2012-02-22 16:17:58
1157
原创 想成为Google工程师?先回答这15个面试问题【这只是一必要条件】(四)
4.如果你有n个节点的列表,对于一个有向无环图来说,最多可以有几条边? 我觉得答案是n*(n-1)/2,过段时间好好看看离散数学的图论,好好学习一下。 5.在Java里面,finally、final和finalize的区别是什么? finally 是try ... catch .... finally....不管有没有发生异常,都会执行的语句,一般用于资源的关
2012-02-22 11:02:52
606
原创 想成为Google工程师?先回答这15个面试问题【这只是一必要条件】(三)
3.给出一组区间(以秒计),让你找出重叠的部分挑战: Google一般也会要你解决一堆数学问题。这些设计的意图是让工程师对问题进行有效的思考,而不是仅仅知道如何对每个问题进行编码。此处的问题会要你实现一个聪明的数学技巧。 题目讲的不是很好理解,看来写这博客的不是google的工程师吧。给出一组区间,不知道找的是所有区间的重叠部分,还是任意区间的重叠部分,其次输入的数据按秒
2012-02-08 12:09:51
1115
1
原创 想成为Google工程师?先回答这15个面试问题【这只是一必要条件】(二)
第二题,合并两个有序链表。 2.合并两个排序链表挑战: 这类问题是Google面试问题的一个共同趋势:找出解决问题的有效办法。合并两条链表是一般会在链表之间发生“冲突”(因为它们各自有特定的次序,而你的合并会把次序搞乱)你必须找出一种算法快速消除那些冲突。 不是很理解它里面所谓的”冲突“,是否包含着其他玄机,^_^,先用简单的写法写一个吧,不然,合并两个升序的链
2012-02-07 22:34:40
749
原创 想成为Google工程师?先回答这15个面试问题【这只是一必要条件】(一)
前段时间google在校内发表了一篇日志,名为《想成为Google工程师?先回答这15个面试问题【这只是一必要条件】》地址:http://page.renren.com/601020521/note/803001195?&ref=minifeed&sfet=2003&fin=3&ff_id=1803322995&feed=user_blogshare&statID=page_601020521_1
2012-02-07 20:30:42
1135
3
原创 二叉树序列化
问题:如何将二叉树序列化为一个文本文件,使得文件的大小尽可能的小。 想了四种方法: 第一种方法:把二叉树按前序和中序遍历一遍,存两次二叉树。 第二种方法:将二叉树按左枝为0,右枝为1进行路径编码,那么每个节点都可以表示成,节点信息和路径信息进行永久化。 第三种方法:将二叉树变成满二叉树,采用数组存储满二叉树,那么数据index和根据二叉树的节点信息
2011-12-05 21:17:23
2253
原创 最后一场面试
上周去一家比较心仪的互联网公司面试,到现在还没有消息,应该是已经被拒了吧。^_^,说起这次面试还是有些故事的。这是我第一家面试的互联网公司,应该也是我最后面试的互联网公司吧,接下来应该会好好科研,不会再面试了。虽然到最后还是没能拿到这个OFFER,感觉十分遗憾。下面我来好好说说我在这家公司的面试情况吧,由于今年6月中旬到9月下旬我都在山东电信,除了平时看看几道算法题,一直没有时间准备找工作。然后9
2011-12-05 12:27:15
861
原创 百度笔试题 A的B次方的后三位
今天被同学问到这样一个题目: 求A^B的最后三位数表示的整数。(1)。如果直接求A^B次方的话,显然会超出数据类型的表示范围。但是仅仅作为后三位来说的话,最后三位的乘积实际上只跟上一次乘积的后三位有关,如(1234 * 1234) %1000 == (234 * 2
2011-10-10 23:14:22
1707
原创 POJ 2328 Guessing Game
题目:http://poj.org/problem?id=2328 题目大意:猜数字游戏,一个人选定一个1-10的数字,另一个人猜,高了说too high,低了说too low。猜中了说right on。因为这个人可能说谎,要求你通过猜测过程判断是否说谎。 分析
2011-08-04 13:42:52
700
原创 POJ 2590 Steps
题目:http://poj.org/problem?id=2590 题目大意: 有一条线段,坐标为x,y。然后从x走到y最少的步数是多少,每次走的步的长度有两个限制: (1)第一步和最后一步是长度为1。
2011-08-03 11:59:53
703
原创 POJ 1573 Robot Motion模拟
题目:http://poj.org/problem?id=1573 题目大意:一个棋牌上布满了N,E,S,W指令,人从北边的一个初始列按照棋牌的指令开始移动。直到走出棋牌,或者出现循环为止。 N表示向北(上)移动一格,
2011-08-02 22:42:34
764
原创 POJ 2632 Crashing Robots 模拟的方法
题目:http://poj.org/problem?id=2632 题目大意:在一个棋盘上,几只坦克在上面轮流运动,有三种运动方式,L,R,F,L:向左转90度,t次,R:向右转90度,t次,F:向前走,tbu。
2011-08-02 13:56:56
486
原创 POJ 3295 Tautology 构造方法
题目:http://poj.org/problem?id=3295 题目大意: 有一种叫做WFF N' PROOF的逻辑游戏,WFF的公式构造由以下几种字母构成:K, A, N, C, E, p, q, r, s, t. WFF公式由以下规则构成:
2011-08-01 17:07:23
672
原创 POJ 2586 Y2K Accounting Bug贪心
题目:http://poj.org/problem?id=2586 题目十分难懂啊,大意是:MS公司,对于每一个月来说,每个月的利润,如果盈利则盈利s,如果亏空则亏d(s和d是固定的)。MS每五个月进行一次统计,共统计八次(1-5月一次,2-6月一次.......)统计的
2011-07-31 16:48:53
499
原创 POJ 2109 Power of Cryptography
题目:http://poj.org/problem?id=2109 题目:k^n = p,已知n,p; 求k。粗看这道题的时候没有很好的想法,因为1101 。p的取值已经超过了int,long long 的取值范围了。以为要用大整数算法。所以感觉非常棘手。看了别人的解题报
2011-07-31 12:27:33
499
原创 POJ 1328 Radar Installation 贪心算法
题目:http://poj.org/problem?id=1328 题目大意:在一个无线长的直线的海岸线上,海岸线上边是岛屿,在海岸线上放雷达,雷达的辐射范围是D,问至少放几个雷达可以覆盖所有的塔。 分析:如下图所示,针对一个点,她的雷达的位置范围如下,因
2011-07-30 16:22:05
697
原创 POJ 2965 The Pilots Brothers' refrigerator 枚举
题目:http://poj.org/problem?id=2965 和1753很类似,也是一个4*4的棋盘,通过开关锁,来使得棋盘上所有的锁都是OPEN,当打开一个锁的时候,会同时修改行和列锁的状态。分析: (1)同样的,每个格子的锁只要开一次就够了,因为如果
2011-07-29 22:26:18
706
原创 POJ 1753 Flip Game 枚举
题目:http://poj.org/problem?id=1753 好久没有写算法,写博客了。一方面原因,最近在山东做项目,没有时间写东西;另一方面,发现算法不是简简单单就能够有所提升的,自己不是那块料,有一段时间很失落。但是还是蛮喜欢研究这种小程序的,就像挑战扫雷
2011-07-29 16:44:50
1360
原创 2005年 总结赛
2005年百度之星程序设计大赛试题总决赛题目题目描述: 八方块移动游戏要求从一个含 8 个数字(用 1-8 表示)的方块以及一个空格方块(用 0 表示)的 3x3 矩阵的起始状态开始,不断移动该空格方块以使其和相邻的方块互换,直至达到所定义的目标状态。空格方块在中间位置时有上、下、左、右 4 个方向可移动,在四个角落上有 2 个方向可移动,在其他位置上有 3 个方向可移动。例
2011-06-09 10:46:00
540
2
原创 2005年百度之星预赛第三题
题目描述:请编写程序,根据指定的对应关系,把一个文本中的字符串替换成另外的字符串。输入数据:程序读入已被命名为 text.txt 和 dict.txt 的两个输入数据文本文件, text.txt 为一个包含大量字符串(含中文)的文本,以 whitespace 为分隔符; dict.txt 为表示字符串( s1 )与字符串( s2 )的对应关系的另一个文本(含中文),大约在 1
2011-06-07 18:49:00
500
原创 2005年百度之星预赛第二题
第二题(共四题 100 分):重叠区间大小( 20 分) 题目描述:请编写程序,找出下面 “ 输入数据及格式 ” 中所描述的输入数据文件中最大重叠区间的大小。 对一个正整数 n ,如果 n 在数据文件中某行的两个正整数(假设为 A 和 B )之间,即 A或 A>=n>=B ,则 n 属于该行;如果 n 同时属于行 i 和 j ,则 i 和 j 有重叠区间;重叠区间的大小是同时属于
2011-06-06 09:46:00
702
2
原创 2005年百度之星预赛第一题
题目描述:一个正整数有可能可以被表示为 n(n >= 2) 个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8 请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。 输入数据:一个正整数,以命令行参数的形式提供给程序。
2011-06-03 11:18:00
851
原创 ACM-2011 Google Code jam Round 1
<br /> 伴随着Round 1C的落幕,我只能遗憾的说,今年的GCJ比赛,我到此为止了。<br /> 今年是我第一年参加GCJ的比赛,战绩:资格赛70分,Rank:2676,Round 1A:没有参加。Round 1B:20分,Rank:1977,Round 1C:40分,Rank:1059(这次是我最接近赛点的成绩了,现在想来还是有很多遗憾的)。<br /> Round 1A:北京时间2011年5月21日早上9点,由于实验室集体出去春游,错过了Google Code jam R
2011-05-23 19:08:00
1112
原创 ACM-2011 PKU 比赛
<br /> 上周末去参加了北京大学的ACM赛,10道题目,做出了两道(感觉没脸说)A题和C题,哈哈……先讲讲这两道题吧。<br /> A题:http://poj.openjudge.cn/campus2011/A/<br /> 大意是,早锻炼打卡,每学期要打够早锻炼10次,晚锻炼20次。早上7点到9:30为早锻炼时间,晚上必须打卡两次,相隔半个小时,才算一次晚锻炼。打卡时间已经排好序了。<br /> 这道题主要考虑的是,一早上不能重复打卡,第二晚上打卡必须超过半小时,晚上重复打卡的
2011-05-11 10:12:00
639
原创 ACM算法系列——google code jam 2011 Problem D GoroSort
题目:http://code.google.com/codejam/contest/dashboard?c=975485#s=p3&a=3 看了最终的Analysis以后,发现自己当时的思维陷入了一个死胡同。 错误的想法: 当时我是这么想的,假设只有两个数字的时候,即 2, 1的情况下,那么拍一次出现的情况为2,1 或者1,2. 则正确排序的情况为1/2。 假设只有三个全部乱序的情况下(三个数字中,如果一个是正确,两个乱序的情况,按照上面一种情况考虑,如1,3,2,
2011-05-10 22:00:00
1187
原创 ACM-GOOGLE CODE JAM 2011 Qualification Round 2011(总结)
<br /> <br /> 上周末,我分别参加了CODE JAM的资格赛和北大的PKU比赛,正规的ACM比赛都是我第一次参加,中间也经历了很多的问题和磨难,打算分几次来写写自己的心得吧。<br /> CODE JAM比赛是在线的比赛,必须提交测试数据集的运行结果和源代码。测试数据集分两种,一种small数据集,一种是large数据集。<br /> 第一题:http://code.google.com/codejam/contest/dashboard?c=975485#<br />
2011-05-10 18:55:00
1078
原创 JSP:PLUGIN ClassNotFound错误
JSP:PLUGIN用法: 执行一个applet或Bean,有可能的话还要下载一个Java插件用于执行它. JSP 语法 [ [ }" /> ]+ ] [ text message for user ] 描述 元素用于在浏览器中播放或显示一个对象(典型的就是applet和Bean),而这种显示需要在浏览器的java插件。 当Jsp文件被编译,送往浏览器时,元素将会根据浏览器的版本替换成或者元素。注意,用于HTML
2011-05-06 10:31:00
1267
原创 ACM-PKU
<br /> PKU 题号1004,题目Financial Management<br /> 求12个浮点数的平均数,比较水的题目。注意打印的时候,“%.2f”C语言自动完成四舍五入了。<br /> #include<stdio.h>#define ONLINEvoid online(){#ifdef ONLINE#else freopen("Financial.in", "r", stdin); freopen("Financial.out", "w", stdout)
2011-05-05 22:42:00
634
原创 ACM-宏定义常量的运行速度与常量的运行速度
最近做了一道北大ACM题,题目ID:3761,题目名称为Bubble Sort。惊奇的发现,我用宏定义数值常量,Runtime Error了。而如果将所有的宏定义常量转化为const 定义的常量的时候,却可以顺利的通过,这点令我很惊讶。一直以为宏定义只影响编译速度,对代码的运行速度没有影响。我唯一的猜测是,现在的CPU对变量进行了优化,将经常使用的变量放在了常用的寄存器中,从而提高了速度,然而仅仅是猜测而已。#include #define ONLINE#define SIZE 10000
2011-05-04 14:22:00
1020
原创 USACO算法系列——讨论篇
<br /> 这道题目来自于我同学的口述,大意是这样,有N个房间,编号为1,2,3……N,里面有1个宠物,然后你每次只能打开一个房间,如果没有找到,宠物必须随机向左向右移动一次,问你如何以最快的开门方式找到宠物。<br /> eg,有3个房间,那么你只要至多打开中间的房间两次就可以找到宠物了。<br /> 分析:用N个位来表示N个房间,0:代表有宠物,1:代表没有宠物。则当N=3时,宠物的初始状态可能为<br /> 1)100<br /> 2)010<br /> 3)001<br
2011-05-03 23:11:00
548
原创 USACO算法系列——北大ACM(番外篇)
<br /> 为了参加周末北大举行的比赛,特意上北大ACM网站做了几道题。北大的有道算法比赛,还真是难啊,估计只能去打酱油了。唉,现在USACO还差最后的10题。希望能在这周和下周完成吧,完成了也算是做完了一件事。<br /> 讲讲今天在北大做的那几道题吧。<br /> 第一题1000,a + b. 没什么好说的,只是为了让大家熟悉一下这个平台。像我这种不熟悉平台,上来就直接敲代码的,第一次提交自然是OVER的。那里的提交不是直接读写文件,而是直接读取流,为了便于调式,用宏定义,写了一个o
2011-05-03 21:35:00
813
原创 USACO算法序列四十九——latin
题目:http://www.nocow.cn/index.php/Translate:USACO/latin 题目大意为,矩阵的魔幻变化,我采用模拟的方法,结果超时了。晚上再想想吧。好久没做USACO了,还剩最后几道题,加油啊!#include#include #define SIZE 8using namespace std;ifstream fin("latin.in");ofstream fout("latin.out");int row[SIZE]
2011-04-28 14:55:00
526
原创 Google Code jam——Radio Receiver
题目:http://code.google.com/codejam/contest/dashboard?c=842485#s=p2 题目大意是,能否从用户选定的一个点A出发,遍历所有的路径,每条路径只能遍历一次,最后返回点A,如果不能,问需要添加的最少的路径数?每两个点之间可以添加任意条路径。 是《离散数学》图论的知识,第一,首先必须是连通图,因为要遍历所有的路径。其次,因为从点A出发,又要重新返回点A,所以所有的点的度数必须为偶数。 因此我的做法是,先找出所有的联通子图,统计连通子图能否
2011-03-30 16:51:00
659
原创 USACO算法系列——Big Barn
<br /> 题目:http://www.nocow.cn/index.php/Translate:USACO/bigbrn<br /> 计算最大的正方形块。area[i][j]:表示以i,j为右下角的正方形的宽度。则<br /> area[i][j] = min(area[i-1][j],area[i][j-1],area[i-1][j-1])+1.<br /> 代码如下:<br />#include <iostream>#include<fstream>#define SIZE
2011-03-29 23:13:00
669
原创 USACO算法系列四十七——window
<br /> 题目:http://www.nocow.cn/index.php/Translate:USACO/window<br /> 题目大意是在四个窗体操作和一个显示操作过程中,显示指定窗体的可见窗体比率。<br /> 我的第一种方法是使用模拟的方法,声明了一个长度为62的窗体结构体数组,0-9表示窗体标示为‘0’-‘9’的窗口,10-36标示‘a’-‘z’的窗体。然后不断的读取指令,对窗体的操作改为对结构体数组中窗体的修改。<br /> 窗体结构体如下:<br /> //窗体
2011-02-17 09:35:00
479
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人