java练习
文章平均质量分 74
bigthinker
乐观开朗,认真负责
展开
-
华为机试---亮灯数量
import java.util.Scanner;public class Main{ public static void main(String[] args){Scanner scan = new Scanner(System.in); while(scan.hasNext()){ int n = scan.nextInt();原创 2016-07-09 19:07:14 · 452 阅读 · 0 评论 -
华为机试---素数伴侣
题目描述题目描述若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13,它们能应用于通信加密。现在密码学会请你设计一个程序,从已有的N(N为偶数)个正整数中挑选出若干对组成“素数伴侣”,挑选方案多种多样,例如有4个正整数:2,5,6,13,如果将5和6分为一组中只能得到一组“素数伴侣”,而将2和5、6和13编组将得到两组“素数伴侣”,能组成“素数伴侣”最多的方原创 2016-07-05 12:25:49 · 1631 阅读 · 0 评论 -
华为机试---质数因子
题目描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 ) 详细描述:函数接口说明: public String getResult(long ulDataInput)输入参数: long ulDataInput:输入的正整数返回值:原创 2016-07-05 11:21:12 · 848 阅读 · 0 评论 -
华为机试---数独
题目描述数独是一个我们都非常熟悉的经典游戏,运用计算机我们可以很快地解开数独难题,现在有一些简单的数独题目,请编写一个程序求解。输入一个9×9的格:7 2 6 9 0 4 0 5 10 8 0 6 0 7 4 3 23 4 1 0 8 5 0 0 90 5 2 4 6 8 0 0 70 3 7 0 0 0 6 8 00 9 0 0 0 3 0 1 0原创 2016-06-16 20:52:55 · 1375 阅读 · 0 评论 -
数值的整数次方代码实现
题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。分三种情况:1.exponent=0 2.exponent>03.exponentpublic class Solution { public double Power(double base, int exponent)原创 2016-07-12 14:37:05 · 627 阅读 · 0 评论 -
跳台阶问题分析整理
一、变态跳台阶题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。关于本题,前提是可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。分析如下:当target当target>=1,正常target输入:f(0) = 1 表示从台阶底一次跳到第n级台阶f(1) =原创 2016-07-12 12:26:31 · 1012 阅读 · 0 评论 -
华为机试---二维数组打印
题目描述有一个二维数组(n*n),写程序实现从右上角到左下角沿主对角线方向打印。给定一个二位数组arr及题目中的参数n,请返回结果数组。测试样例:[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]],4返回:[4,3,8,2,7,12,1,6,11,16,5,10,15,9,14,13]import java.util原创 2016-06-30 10:39:13 · 1159 阅读 · 0 评论 -
华为机试---奇数位丢弃
题目描述对于一个由0..n的所有数按升序组成的序列,我们要进行一些筛选,每次我们取当前所有数字中从小到大的第奇数位个的数,并将其丢弃。重复这一过程直到最后剩下一个数。请求出最后剩下的数字。输入描述:每组数据一行一个数字,为题目中的n(n小于等于1000)。输出描述:一行输出最后剩下的数字。输入例子:500输出例子:255impor原创 2016-06-29 21:08:41 · 1417 阅读 · 0 评论 -
字符串字母全排列练习
输入例子:WHL输出例子:按字母序输出HLWHWLLHWLWHWHLWLHimport java.util.Scanner; import java.util.TreeSet;public class Main { public static int count = 0; public static void main(原创 2016-06-29 20:26:57 · 1022 阅读 · 0 评论 -
采药问题(01背包)
题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”原创 2016-07-11 15:40:21 · 807 阅读 · 0 评论 -
华为机试---旅途
题目描述原来是要到醋溜站台乘坐醋溜快车到醋溜港”,亮亮解出了地图隐藏的秘密,赶紧奔向醋溜站台,但到了之后,亮亮忧桑地发现,从醋溜站台到醋溜港沿途的每个车站都有很多美女被他飒爽的英姿所吸引,只要经过车站就会被这些漂亮的女孩搭讪,但是现在亮亮一心想要寻找楚楚街而没空去搭理她们,所以亮亮希望在抵达醋溜港的时候被搭讪的次数最少。问亮亮抵达醋溜港最少会被搭讪多少次?输入描述:第一行包含两原创 2016-06-29 15:42:20 · 469 阅读 · 0 评论 -
Dijkstra算法练习
/** * Dijkstra算法思想: * 按各顶点与源点start间路径长度的递增次序,生成到各顶点的最短路径的算法。 * 即求出长度最短的一条最短路径,再参照它求出长度次短的一条路径,以此类推,直到 * 从源点start到其他各顶点的最短路径全部求出为止。 * 1.选出一个距离初始顶点start最近的未访问顶点 * 2.以这个顶点为中间点更新从start到未访问各店的距原创 2016-06-29 11:32:00 · 561 阅读 · 0 评论 -
华为机试---LRU算法
最近最少使用算法,如果缓存不够,LRU算法就是将最近最久未使用的页面淘汰,并计算最终的缺页次数public static int count(int size , int[] data){ int count = 0; return count;}size缓存区大小,保存的最大页面数data数组按顺序向缓存发送页面请求(1)需要判断缓冲区是否已经到最原创 2016-07-11 09:52:13 · 710 阅读 · 0 评论 -
java面试宝典学习笔记(二)
java基础学习(面试宝典):41.请写出最常见的5个runtime exception.系统异常是软件本身缺陷所导致的问题,也就是软件开发人员考虑不周所导致的问题,软件使用者无法克服和恢复这种问题,但在这种问题下还可以让软件系统继续运行或者让软件死掉。系统异常都是RuntimeException的子类在jdk doc中查RuntimeException类,就可以看到其所有的子类列表,也就原创 2016-07-10 20:46:32 · 1886 阅读 · 1 评论 -
华为机试---求int型数据在内存中存储时1的个数
题目描述输入一个int型数据,计算出该int型数据在内存中存储时1的个数。输入描述: 输入一个整数(int类型)输出描述: 这个数转换成2进制后,输出1的个数输入例子:5输出例子:2import java.util.Scanner;public class Main{ public static void原创 2016-07-05 14:50:41 · 387 阅读 · 0 评论 -
华为机试---查找兄弟单词
题目描述实现一个可存储若干个单词的字典。用户可以:1.在字典中加入单词2.查找指定单词在字典中的兄弟单词个数3.查找指定单词的指定序号的兄弟单词,指定序号指字典中兄弟单词按字典顺序排序后的序号4.清空字典中所有的单词定义,格式说明1.单词:有小写英文字母组成,不含其它字符2.兄弟单词:给定一个单词X,如果通过任意交换单词中字母的位置得到不同的单词Y,那么原创 2016-07-05 16:17:18 · 1727 阅读 · 0 评论 -
华为机试---解密(全排列)
题目描述亮亮深吸一口气,小心地将盒子打开,里面是一张地图,地图上除了一些奇怪的字母以外没有任何路线信息,这可让亮亮犯了愁,这些字母代表了什么意思呢? 亮亮绞尽脑汁也想不出什么思路,突然,亮亮眼前一亮,“我可以把这些字母所有的排列方式全部写出来,一定可以找到答案!” 于是,亮亮兴奋的开始寻找字母里的秘密。输入描述:每组数据输入只有一行,是一个由不同的大写字母组成的字符串,已知原创 2016-06-29 16:33:46 · 1631 阅读 · 0 评论 -
华为机试---蘑菇阵(动态规划)
题目描述现在有两个好友A和B,住在一片长有蘑菇的由n*m个方格组成的草地,A在(1,1),B在(n,m)。现在A想要拜访B,由于她只想去B的家,所以每次她只会走(i,j+1)或(i+1,j)这样的路线,在草地上有k个蘑菇种在格子里(多个蘑菇可能在同一方格),问:A如果每一步随机选择的话(若她在边界上,则只有一种选择),那么她不碰到蘑菇走到B的家的概率是多少?输入描述:第一行原创 2016-06-22 16:56:03 · 1015 阅读 · 0 评论 -
华为机试---表达式合法判断
题目描述写一段代码,判断一个包括'{','[','(',')',']','}'的表达式是否合法(注意看样例的合法规则。)给定一个表达式A,请返回一个bool值,代表它是否合法。加入括号是否匹配的判断测试样例:"[a+b*(5-4)]*{x+b+b*(1+2)}"返回:true测试样例:"[a+b*(5-4)]*{x+b+b*(({1+2)}}"返回:原创 2016-06-22 12:01:01 · 2060 阅读 · 0 评论 -
华为机试---钓鱼比赛
题目描述ss请cc来家里钓鱼,鱼塘可划分为n*m的格子,每个格子每分钟有不同的概率钓上鱼,cc一直在坐标(x,y)的格子钓鱼,而ss每分钟随机钓一个格子。问t分钟后他们谁至少钓到一条鱼的概率大?为多少?输入描述:第一行五个整数n,m,x,y,t(1≤n,m,t≤1000,1≤x≤n,1≤y≤m);接下来为一个n*m的矩阵,每行m个一位小数,共n行,第i行第j个数代表坐标为(i,原创 2016-06-22 11:09:30 · 878 阅读 · 0 评论 -
华为机试---裁剪网格纸
题目描述度度熊有一张网格纸,但是纸上有一些点过的点,每个点都在网格点上,若把网格看成一个坐标轴平行于网格线的坐标系的话,每个点可以用一对整数x,y来表示。度度熊必须沿着网格线画一个正方形,使所有点在正方形的内部或者边界。然后把这个正方形剪下来。问剪掉正方形的最小面积是多少。 输入描述:第一行一个数n(2≤n≤1000)表示点数,接下来每行一对整数xi,yi(-1e9i,yi原创 2016-06-21 15:25:21 · 686 阅读 · 0 评论 -
华为机试---罪犯转移
题目描述C市现在要转移一批罪犯到D市,C市有n名罪犯,按照入狱时间有顺序,另外每个罪犯有一个罪行值,值越大罪越重。现在为了方便管理,市长决定转移入狱时间连续的c名犯人,同时要求转移犯人的罪行值之和不超过t,问有多少种选择的方式? 输入描述:第一行数据三个整数:n,t,c(1≤n≤2e5,0≤t≤1e9,1≤c≤n),第二行按入狱时间给出每个犯人的罪行值ai(0≤ai≤1e9)原创 2016-06-21 15:05:39 · 493 阅读 · 0 评论 -
比较器练习(list,set,map...)
//java中对ArrayList进行排序,比较器练习import java.util.Collections;import java.util.Comparator;import java.util.List;import java.util.ArrayList;//保存学生信息class StudentInfo{ String name; int age原创 2016-07-06 21:39:07 · 1087 阅读 · 0 评论 -
华为机试---字符串计数
题目描述求字典序在s1和s2之间的,长度在len1到len2的字符串的个数,结果mod 1000007。输入描述:每组数据包涵s1(长度小于100),s2(长度小于100),len1(小于100000),len2(大于len1,小于100000)输出描述:输出答案。输入例子:ab ce 1 2输出例子:56import j原创 2016-06-21 11:18:52 · 431 阅读 · 0 评论 -
华为机试---查找组成一个偶数的最接近的两个素数
题目描述任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对 输入描述:输入一个偶数输出描述:输出两个素数输入例子:20输出例子:713方法一:从mid开始找,耗时短import java.util.Scanner;public class Mai原创 2016-07-06 16:37:14 · 541 阅读 · 0 评论 -
华为机试---迷宫问题
题目描述定义一个二维数组N*M(其中2int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0,};原创 2016-07-06 15:24:52 · 1689 阅读 · 0 评论 -
华为机试---完全数计算
题目描述完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。给定函数count(int n),用于计算n以内(含n)完全数的个数。计算范围, 0 返回n以内原创 2016-07-06 10:54:15 · 726 阅读 · 0 评论 -
华为机试---成绩排序
题目描述查找和排序题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96原创 2016-07-06 10:07:21 · 2569 阅读 · 0 评论 -
华为机试---称砝码
题目描述现有一组砝码,重量互不相等,分别为m1,m2,m3…mn;每种砝码对应的数量为x1,x2,x3...xn。现在要用这些砝码去称物体的重量,问能称出多少中不同的重量。 注:称重重量包括0 方法原型:public static int fama(int n, int[] weight, int[] nums)输入描述:输入包含多组原创 2016-07-06 09:09:53 · 1446 阅读 · 0 评论 -
华为机试---学英语
题目描述Jessi初学英语,为了快速读出一串数字,编写程序将数字转换成英文:如22:twenty two,123:one hundred and twenty three。 说明:数字为正整数,长度不超过十位,不考虑小数,转化结果为英文小写;输出格式为twenty two;非法数据请返回“error”;关键字提示:and,billion,million,原创 2016-07-05 23:56:29 · 1913 阅读 · 0 评论 -
查找算法练习一(线性查找+折半查找)
public class SearchAlgorithm {public static int count = 0;//统计线性查找的查找次数//测试数据无序public static int[] linearSearch_data = { 12, 76, 29, 22, 15, 62, 29, 58, 35, 67, 58, 33, 28, 89, 90, 28, 64, 48,原创 2016-07-09 23:25:22 · 1262 阅读 · 0 评论 -
华为机试---社交网站好友推荐
描述: 现有一个社交网站,其好友推荐策略为:用户A和用户B不是好友,当二人的共同好友数量超过好友推荐阈值m时,就向A和B分别推荐为彼此好友。 本题任务为:对设定的m值,给定一组用户及各自好友列表,对这一组用户,反复自动应用上述好友推荐策略后(假设每次推荐都被采纳),求指定用户的最终好友列表。 注:好友关系是双向的,即:如果用户A是用户B的好友,那么用户B一定也是用户A的好友。原创 2016-07-09 21:19:59 · 1794 阅读 · 0 评论 -
华为机试---乘坐公交
题目描述从小明家所在公交站出发有n路公交到公司,现给出每路公交的停站数(不包括起点和终点),及每次停的时间(一路车在每个站停的时间相同)和发车的间隔,先假定每辆车同时在相对时间0分开始发车,且所有车在相邻两个站之间的耗时相同,都为5分钟。给定小明起床的相对时间(相对0的分钟数),请计算他最早到达公司的相对时间。给定每路车的停站数stops,停站时间period,发车间隔inte原创 2016-06-25 10:17:27 · 694 阅读 · 0 评论 -
华为机试---投篮游戏
题目描述有一个投篮游戏。球场有p个篮筐,编号为0,1...,p-1。每个篮筐下有个袋子,每个袋子最多装一个篮球。有n个篮球,每个球编号xi 。规则是将数字为xi 的篮球投到xi 除p的余数为编号的袋里。若袋里已有篮球则球弹出游戏结束输出i,否则重复至所有球都投完。输出-1。问游戏最终的输出是什么?输入描述:第一行两个整数p,n(2≤p,n≤300)。p为篮筐数,n为篮球数。原创 2016-06-24 18:01:29 · 406 阅读 · 0 评论 -
华为机试---聊天
题目描述A和B是好友,他们经常在空闲时间聊天,A的空闲时间为[a1 ,b1 ],[a2,b2 ]..[ap ,bp ]。B的空闲时间是[c1 +t,d1 +t]..[cq +t,dq +t],这里t为B的起床时间。这些时间包括了边界点。B的起床时间为[l,r]的一个时刻。若一个起床时间能使两人在任意时刻聊天,那么这个时间就是合适的,问有多少个合适的起床时间?输入描述:第一行原创 2016-06-24 17:26:21 · 322 阅读 · 0 评论 -
华为机试---简单错误记录
题目描述开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。 处理:1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加;(文件所在的目录不同,文件名和行号相同也要合并)2.超过16个字符的文件名称,只记录文件的最后有效16个字符;(如果文件名不同,而只是文件名的后16个字符和行号相同,也不要合并)3.输入的原创 2016-06-16 09:36:14 · 1446 阅读 · 1 评论 -
华为机试---删数
题目描述有一个数组a[N]顺序存放0-N,要求没隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。输入描述:每组数据为一行一个整数n(小于等于1000),为数组成员数,如100原创 2016-06-16 10:32:33 · 1403 阅读 · 0 评论 -
华为机试---字符集合
题目描述输入一个字符串,求出该字符串包含的字符集合输入描述:每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写。输出描述:每组数据一行,按字符串原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出。输入例子:abcqweracb输出例子:abcqwerimport java.util.Ha原创 2016-06-16 12:14:53 · 3314 阅读 · 0 评论 -
华为机试---最高分是多少
题目描述老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩. 输入描述:输入包括多组测试数据。每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。学生ID编号从1编到N。第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的原创 2016-06-15 11:32:27 · 2286 阅读 · 0 评论 -
华为机试---最大间隔
题目描述给定一个递增序列,a1 2 n 。定义这个序列的最大间隔为d=max{ai+1 - ai }(1≤i2 ,a3 ..an-1 中删除一个元素。问剩余序列的最大间隔最小是多少?输入描述:第一行,一个正整数n(1输出描述:输出答案。输入例子:51 2 3 7 8输出例子:4import java.util.Scanne原创 2016-06-24 16:08:47 · 465 阅读 · 0 评论