- 博客(79)
- 收藏
- 关注
原创 数值的整数次方代码实现
题目描述给定一个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 625
原创 跳台阶问题分析整理
一、变态跳台阶题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。关于本题,前提是可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。分析如下:当target当target>=1,正常target输入:f(0) = 1 表示从台阶底一次跳到第n级台阶f(1) =
2016-07-12 12:26:31 1008
原创 采药问题(01背包)
题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”
2016-07-11 15:40:21 802
原创 华为机试---LRU算法
最近最少使用算法,如果缓存不够,LRU算法就是将最近最久未使用的页面淘汰,并计算最终的缺页次数public static int count(int size , int[] data){ int count = 0; return count;}size缓存区大小,保存的最大页面数data数组按顺序向缓存发送页面请求(1)需要判断缓冲区是否已经到最
2016-07-11 09:52:13 707
原创 java面试宝典学习笔记(三)
62.关于assertassertion(断言)assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,assert将给出警告或退出。一般来说,ass
2016-07-10 23:52:48 656
原创 java面试宝典学习笔记(二)
java基础学习(面试宝典):41.请写出最常见的5个runtime exception.系统异常是软件本身缺陷所导致的问题,也就是软件开发人员考虑不周所导致的问题,软件使用者无法克服和恢复这种问题,但在这种问题下还可以让软件系统继续运行或者让软件死掉。系统异常都是RuntimeException的子类在jdk doc中查RuntimeException类,就可以看到其所有的子类列表,也就
2016-07-10 20:46:32 1886 1
原创 java面试宝典学习笔记(一)
java基础学习(面试宝典):1.java中“==”和equals方法究竟有什么区别?(1)==操作符专门用来比较两个变量的值是否相等,也即是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。 如果一个变量指向的数据是对象类型的,那么,这时候涉及到两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如Obj
2016-07-10 16:40:38 1644 3
原创 查找算法练习一(线性查找+折半查找)
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 1261
原创 华为机试---社交网站好友推荐
描述: 现有一个社交网站,其好友推荐策略为:用户A和用户B不是好友,当二人的共同好友数量超过好友推荐阈值m时,就向A和B分别推荐为彼此好友。 本题任务为:对设定的m值,给定一组用户及各自好友列表,对这一组用户,反复自动应用上述好友推荐策略后(假设每次推荐都被采纳),求指定用户的最终好友列表。 注:好友关系是双向的,即:如果用户A是用户B的好友,那么用户B一定也是用户A的好友。
2016-07-09 21:19:59 1791
原创 华为机试---数字排序
输入一串用空格隔开的数字串,对于数字串的奇数位按升序排序,偶数位按降序排序。示例输入:4 6 2 3 6 7 8 1处理过程:奇数位:4 2 6 8 升序排序结果: 2 4 6 8偶数位:6 3 7 1 降序排序结果: 7 6 3 1结果输出:2 7 4 6 6 3 8 1zpx00266191数字串排序结果4 6 2 3 6 7 8 12 7 4 6
2016-07-09 20:08:42 2285 1
原创 华为机试---Word Maze迷宫游戏
import java.util.Scanner;public class Main{private static boolean isFind = false;//全局变量,保存是否找到食物单词private static boolean[][] flag;//保存访问标记 public static void main(String[] args){
2016-07-09 19:15:27 3301
原创 华为机试---及格线
import java.util.Scanner;import java.util.Arrays;public class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); while(scan.hasNext()){
2016-07-09 19:11:03 1574
原创 华为机试---亮灯数量
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
原创 比较器练习(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 1084
原创 华为机试---查找组成一个偶数的最接近的两个素数
题目描述任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对 输入描述:输入一个偶数输出描述:输出两个素数输入例子:20输出例子:713方法一:从mid开始找,耗时短import java.util.Scanner;public class Mai
2016-07-06 16:37:14 540
原创 华为机试---迷宫问题
题目描述定义一个二维数组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 1686
原创 华为机试---完全数计算
题目描述完全数(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 725
原创 华为机试---成绩排序
题目描述查找和排序题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96
2016-07-06 10:07:21 2569
原创 华为机试---称砝码
题目描述现有一组砝码,重量互不相等,分别为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 1445
原创 华为机试---学英语
题目描述Jessi初学英语,为了快速读出一串数字,编写程序将数字转换成英文:如22:twenty two,123:one hundred and twenty three。 说明:数字为正整数,长度不超过十位,不考虑小数,转化结果为英文小写;输出格式为twenty two;非法数据请返回“error”;关键字提示:and,billion,million,
2016-07-05 23:56:29 1913
原创 华为机试---查找兄弟单词
题目描述实现一个可存储若干个单词的字典。用户可以:1.在字典中加入单词2.查找指定单词在字典中的兄弟单词个数3.查找指定单词的指定序号的兄弟单词,指定序号指字典中兄弟单词按字典顺序排序后的序号4.清空字典中所有的单词定义,格式说明1.单词:有小写英文字母组成,不含其它字符2.兄弟单词:给定一个单词X,如果通过任意交换单词中字母的位置得到不同的单词Y,那么
2016-07-05 16:17:18 1723
原创 华为机试---求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
原创 华为机试---素数伴侣
题目描述题目描述若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13,它们能应用于通信加密。现在密码学会请你设计一个程序,从已有的N(N为偶数)个正整数中挑选出若干对组成“素数伴侣”,挑选方案多种多样,例如有4个正整数:2,5,6,13,如果将5和6分为一组中只能得到一组“素数伴侣”,而将2和5、6和13编组将得到两组“素数伴侣”,能组成“素数伴侣”最多的方
2016-07-05 12:25:49 1629
原创 华为机试---质数因子
题目描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 ) 详细描述:函数接口说明: public String getResult(long ulDataInput)输入参数: long ulDataInput:输入的正整数返回值:
2016-07-05 11:21:12 848
原创 华为机试---二维数组打印
题目描述有一个二维数组(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..n的所有数按升序组成的序列,我们要进行一些筛选,每次我们取当前所有数字中从小到大的第奇数位个的数,并将其丢弃。重复这一过程直到最后剩下一个数。请求出最后剩下的数字。输入描述:每组数据一行一个数字,为题目中的n(n小于等于1000)。输出描述:一行输出最后剩下的数字。输入例子:500输出例子:255impor
2016-06-29 21:08:41 1416
原创 字符串字母全排列练习
输入例子: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
原创 华为机试---解密(全排列)
题目描述亮亮深吸一口气,小心地将盒子打开,里面是一张地图,地图上除了一些奇怪的字母以外没有任何路线信息,这可让亮亮犯了愁,这些字母代表了什么意思呢? 亮亮绞尽脑汁也想不出什么思路,突然,亮亮眼前一亮,“我可以把这些字母所有的排列方式全部写出来,一定可以找到答案!” 于是,亮亮兴奋的开始寻找字母里的秘密。输入描述:每组数据输入只有一行,是一个由不同的大写字母组成的字符串,已知
2016-06-29 16:33:46 1631
原创 华为机试---旅途
题目描述原来是要到醋溜站台乘坐醋溜快车到醋溜港”,亮亮解出了地图隐藏的秘密,赶紧奔向醋溜站台,但到了之后,亮亮忧桑地发现,从醋溜站台到醋溜港沿途的每个车站都有很多美女被他飒爽的英姿所吸引,只要经过车站就会被这些漂亮的女孩搭讪,但是现在亮亮一心想要寻找楚楚街而没空去搭理她们,所以亮亮希望在抵达醋溜港的时候被搭讪的次数最少。问亮亮抵达醋溜港最少会被搭讪多少次?输入描述:第一行包含两
2016-06-29 15:42:20 469
原创 Dijkstra算法练习
/** * Dijkstra算法思想: * 按各顶点与源点start间路径长度的递增次序,生成到各顶点的最短路径的算法。 * 即求出长度最短的一条最短路径,再参照它求出长度次短的一条路径,以此类推,直到 * 从源点start到其他各顶点的最短路径全部求出为止。 * 1.选出一个距离初始顶点start最近的未访问顶点 * 2.以这个顶点为中间点更新从start到未访问各店的距
2016-06-29 11:32:00 559
原创 华为机试---上台阶
题目描述有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或者二级,要走上m级,共有多少走法?注:规定从一级到一级有0种走法。给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100。为了防止溢出,请返回结果Mod 1000000007的值。测试样例:3返回:2相当于菲波那切数列 0 1 2 3 5 8 .....import
2016-06-27 22:10:40 874
原创 华为机试---矩阵元素相乘
题目描述A[n,m]是一个n行m列的矩阵,a[i,j]表示A的第i行j列的元素,定义x[i,j]为A的第i行和第j列除了a[i,j]之外所有元素(共n+m-2个)的乘积,即x[i,j]=a[i,1]*a[i,2]*...*a[i,j-1]*...*a[i,m]*a[1,j]*a[2,j]...*a[i-1,j]*a[i+1,j]...*a[n,j],现输入非负整形的矩阵A[n,m],求MA
2016-06-27 21:08:28 599
原创 华为机试---火眼金睛
题目描述现在我们需要查出一些作弊的问答社区中的ID,作弊有两种:1.A回答了B的问题,同时B回答了A的问题。那么A和B都是作弊。2.作弊ID用户A和作弊ID用户B同时回答了C的问题,那么C也是作弊。已知每个用户的ID是一串数字,一个问题可能有多个人回答。输入描述:每组数据第一行为总问题数N(N小于等于200000),第二行开始每行一个问题,第一个数字为提问人ID,第二个数字为回
2016-06-27 17:08:48 4393
原创 华为机试---微信红包
题目描述春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。给定一个红包的金额数组gifts及它的大小n,请返回所求红包的金额。若没有金额超过总数的一半,返回0。测试样例:[1,2,3,2,2],5返回:2两种解法尝试算
2016-06-27 11:26:50 964
原创 华为机试---生成格雷码
题目描述在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码。给定一个整数n,请返回n位的格雷码,顺序为从0开始。测试样例:1返回:["0","1"]格雷码(Gray Code):在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码
2016-06-27 10:11:06 607
原创 华为机试---路灯
题目描述一条长l的笔直的街道上有n个路灯,若这条街的起点为0,终点为l,第i个路灯坐标为ai,每盏灯可以覆盖到的最远距离为d,为了照明需求,所有灯的灯光必须覆盖整条街,但是为了省电,要是这个d最小,请找到这个最小的d。输入描述:每组数据第一行两个整数n和l(n大于0小于等于1000,l小于等于1000000000大于0)。第二行有n个整数(均大于等于0小于等于l),为每盏灯的坐
2016-06-26 21:49:13 2932
原创 华为机试---奖学金
题目描述小v今年有n门课,每门都有考试,为了拿到奖学金,小v必须让自己的平均成绩至少为avg。每门课由平时成绩和考试成绩组成,满分为r。现在他知道每门课的平时成绩为ai ,若想让这门课的考试成绩多拿一分的话,小v要花bi 的时间复习,不复习的话当然就是0分。同时我们显然可以发现复习得再多也不会拿到超过满分的分数。为了拿到奖学金,小v至少要花多少时间复习。输入描述:第一行三个整数
2016-06-26 20:26:56 944
原创 华为机试---小东分苹果
题目描述果园里有一堆苹果,一共n头(n大于1小于9)熊来分,第一头为小东,它把苹果均分n份后,多出了一个,它扔掉了这一个,拿走了自己的一份苹果,接着第二头熊重复这一过程,即先均分n份,扔掉一个然后拿走一份,以此类推直到最后一头熊都是这样(最后一头熊扔掉后可以拿走0个,也算是n份均分)。问最初这堆苹果最少有多少个。给定一个整数n,表示熊的个数,返回最初的苹果数。保证有解。测试
2016-06-26 18:33:19 3244 3
原创 华为机试---抛小球(算法)
题目描述小东和三个朋友一起在楼上抛小球,他们站在楼房的不同层,假设小东站的楼层距离地面N米,球从他手里自由落下,每次落地后反跳回上次下落高度的一半,并以此类推知道全部落到地面不跳,求4个小球一共经过了多少米?(数字都为整数)给定四个整数A,B,C,D,请返回所求结果。测试样例:100,90,80,70返回:1020算法思想:设楼层高度为整数x,每次落地后反跳
2016-06-26 12:25:27 1454
原创 华为机试---年终奖(动态规划)
题目描述小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设计一个算法使小东拿到价值最高的礼物。给定一个6*6的矩阵board,其中每个元素为对应格
2016-06-26 11:26:55 1484
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人