
机试
文章平均质量分 61
风中静行
一个相信科技改变生活的有信仰的程序猿
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
华为机试题---二维数组的转置
一、问题描述 二维数组转置 例:1 2 3 4 5 6 转置 1 4 2 5 3 6 二、算法 /** * Gets reversed matrix * @param a * @return */ public int[][] reverseArray(int[][] a) { Integer[] rowCel原创 2014-03-11 01:49:08 · 1146 阅读 · 0 评论 -
华为机试题---判断字符串中是否只含有相同的子字符串
一、问题描述 * 功能描述:判断一个字符串中是否只含有相同的子字符串(子串长度>=2) 输入:abab 返回:true 输入:abcd 返回:false 二、算法 public boolean checkString1(String data) { Boolean bool = false; int lena = data.length(); for (原创 2014-03-10 12:14:35 · 1788 阅读 · 4 评论 -
华为机试题--二进制数的每位进行0和1反转求值
一、问题描述 功能描述:对一个二进制数的每位进行0和1反转,求翻转后的二进制所对应的十进制 输入:110 输出:1 要求实现方法: public String getNumber(BigInteger data) { //TODO return ""; } 二、算法 public String getNumber(BigInteger data) {原创 2014-03-10 15:21:36 · 1518 阅读 · 0 评论 -
华为机试题---数组移位
一、问题描述 功能描述:数组的循环移位, 输入:{a,b,c},2 输出:{b,c,a} 要求实现方法: /** *data :待循环数组 *index:移动位数 */ public String[] getChildren(String[] data,int index) { //TODO return null; } 二、算法分析原创 2014-03-10 16:47:54 · 1285 阅读 · 0 评论 -
华为机试题-----查找一个字符串的子字符串集
一、问题描述 功能描述:查找一个字符串的子字符串集 输入:abab 输出:a b ab ba aba bab 二、算法分析 /** * Gets the all the substring from input data string * @param data * @return */ public List getChildren(String data) {原创 2014-03-10 01:11:52 · 1973 阅读 · 0 评论 -
华为机试题----比较二维数组列最小值,组成一个新数组返回
一、问题描述 比较二维数组列最小值,组成一个新数组返回。(实现核心算法,不需要使用IO) 输入:intArr = {{5,6,1,16},{7,3,9}} 输出:intArrs ={1,3} pubic class Test{ public static void main(String args[]){ //写测试方法 } public static int [] getColM原创 2014-03-10 10:44:52 · 1169 阅读 · 0 评论 -
华为机试题---判断一个字符串中的"( )"是否配对
一、问题描述 功能描述:判断一个字符串中的"( )"是否配对 输入:if(a.equals(a)) 输出:true 要求实现方法: public boolean isDouble(String data) { //TODO return false; } 二、算法 /** * Judges whether the number of '(' is eq原创 2014-03-10 16:01:38 · 1356 阅读 · 0 评论 -
华为机试题---将字符转换为小写并将其对应的ASCII值加5
一、问题描述 程序实现目标: 输入一个字符,将字符转换为小写,将其对应的ASCII值加5后,输出结果。 程序要求:若其值加5后的字符值大于'z',将其转换成从a开始的字符。 输入:‘A’ 输出:‘f’ 二、算法 /** *Changes the input char to the char whose ascii value * is combination of ASC原创 2014-03-10 17:23:56 · 1657 阅读 · 0 评论 -
华为机试题及参考答案
转载自:http://blog.youkuaiyun.com/dsfas3432/article/details/17100967 /* * 程序实现目标:输入一个字符串,将其各个字符对应的ASCII值加5后,输出结果。 程序要求:该字符串只包含小写字母,若其值加5后的字符值大于'z',将其转换成从a开始的字符。 */ public class Main001转载 2014-03-10 17:40:07 · 2453 阅读 · 1 评论 -
华为机试题---随机打印50个随机(4-10长度)的字符串
一、问题藐视 随机打印50个随机(4-10长度)的字符串, * 要求字符串包含的范围是所有的英文字母包含大小写和数字, * 按照编码顺序排序,每行打印4个,要求首字符对齐 二、算法分析 public static String gen(int length) { char[] ss = new char[length]; int i = 0; while (i <原创 2014-03-11 01:52:07 · 2593 阅读 · 0 评论 -
华为机试题---二维数组的转置
一、问题描述 * 二维数组转置 例: 1 2 3 4 5 6 转置 * 1 4 * 2 5 * 3 6 二、算法分析 解决两个问题: 1. 如何初始化新的数据,如何获得转置后二维数组的行数; 2. 如何把原先数组的数据转移到新的数据中。 笔者是这么解决以上两个问题:原创 2014-03-10 22:40:13 · 1499 阅读 · 0 评论 -
华为机试题--将字符串中的字母全部替换成字母的下一个字母
一、问题描述 功能描述:将字符串中的字母全部替换成字母的下一个字母, 要是最后一位是z或Z则替换为a或A。 输入:aBxyZ 输出:bCyzA 要求实现方法: public String nextString(String data) { //TODO return ""; } 二、算法分析 第一个问题: 如何把字符串转化为字符数组,然后单独下一个字原创 2014-03-10 11:35:45 · 4334 阅读 · 0 评论 -
华为机试题----找一句话中最长的单词
一、问题描述 功能描述:键盘输入一句话 输出一句话中最常的单词,如果最长的出现多次,返回第一个。 这句话只包含数字字母和标点。 输入:a aa,cat tiger.123dd 输出: tiger 要求实现方法: public String getLongString(String data) { //T原创 2014-03-10 11:16:05 · 1605 阅读 · 0 评论 -
华为机试题---已知:yi er san si wu liu qi ba jiu 分别对应123456789
一、题目 * 功能描述:已知:yi er san si wu liu qi ba jiu 分别对应123456789, 对一段只含有这几种字符串的字符串进行转换,如: * 输入:yiersansan 输出:1233 二、思路分析 1. 思路分析 * 首先要解决三个问题: * 第一、怎么存储常量字符串和数据对应关系。 * 第二、如何分割对于输入的字符串,获得出有数字对应的子原创 2014-03-10 00:12:33 · 3347 阅读 · 1 评论 -
华为机试题--数列求和
一、问题描述 编写程序,输入一个正整数n,求下列算式的值。 要求定义和调用函数fact(k)计算k的阶乘,函数返回值的类型是double。 1+1/2!+ .... +1/n! 输出保留5位小数。 下面是一些合理的表达式的例子: Input 5 Output 1.71667 二、算法 package com.albe原创 2014-03-11 01:31:15 · 1981 阅读 · 0 评论 -
华为机试题---四舍五入
一、问题描述 写出一个程序,接受一个浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整 举例 -4.5 四舍五入的结果是-4 4.4 四舍五入的结果是4 二、算法: 在此特别提醒一点: -4.5 四舍五入的结果是-4 是不变而不是 -4 + 1 = -3 public int round(double d){ int result原创 2014-03-11 01:34:54 · 2045 阅读 · 0 评论 -
华为机试题--字符串ASCII值加5输出结果
* 程序实现目标: 输入一个字符串,将其各个字符对应的ASCII值加5后,输出结果。 * 程序要求:该字符串只包含小写字母,若其值加5后的字符值大于'z',将其转换成从a开始的字符。 一、题目分析 (1)首先要清楚如何求字符的ASCII编码,可以通过JVM直接转换。 (2)由于只包含小写字符,所以必须对于输入的字符串进行过滤。 (3) 字符ASCII值 + 5原创 2014-03-07 00:48:33 · 2242 阅读 · 0 评论 -
华为机试题--回文数的判定
一、题目描述: 有这样一类数字,他们顺着看和倒着看是相同的数,例如:121,656,2332等,这样的数字就称为:回文数字。编写一个函数,判断某数字是否是回文数字。 要求实现方法: public String isPalindrome(long num); 二、 算法分析 要实现回文数的判定,其核心就是字符串翻转后值相同,一说这大家立马回想到stringbuffe原创 2014-03-10 00:03:42 · 1465 阅读 · 1 评论 -
华为机试题---统计并输出每个字符在字符串中出现的次数
一、问题描述 手动输入一个字符串,仅限小写字母,统计并输出每个字符在字符串中出现的次数,并输出。提示(可以用Map) 实例: 输入:aaabbbccc 输出: * a 3 * b 3 * c 3 二、算法 1. 由于map存储结构为key-value,所以选择map存储,类型为: 2.由结果可知,a,b,c是按照字母顺序输出的,所有用sortedMap原创 2014-03-10 01:23:37 · 5033 阅读 · 0 评论 -
华为机试题--- 大数相加 异常处理
一、问题描述; 要求实现方法public String addTwoBigNumber(String s1,string s2) 大数相加,注意处理异常 二、算法 /** * Checks whether numberStr contains only number * @param number * @return */ public boolean isNum原创 2014-03-10 10:18:21 · 1370 阅读 · 0 评论 -
华为机试题---统计一个数字转为二进制0和1的个数
一、问题描述 功能描述:统计一个数字转为二进制后,0和1的个数,组成数组返回 输入:6 输出:{1,2} 二、算法分析 要把一个数字转为二进制就得为这个数字不断取余数 ,如果能整除则为0 ,否则为1. 三、算法/** * Gets array including zerocount and onecount of input data. * @param data *原创 2014-03-10 12:24:51 · 2025 阅读 · 0 评论 -
华为机试题--计算一个表达式的值
来自于:http://blog.youkuaiyun.com/imzoer/article/details/8020343 输入是一个表达式,比如说是1*2-3+4*5,要求计算出这个表达式的值。 思路:不瞻前,只顾后。 在计算的时候,如果当前运算符是乘除法,则直接计算出来,再考虑后续的。如果当前的操作符不是乘除,则“顾后”,查看后面的操作符是不是乘除法,如果是乘除法,则计算乘除法,否则把当转载 2014-03-10 12:31:52 · 1407 阅读 · 0 评论 -
华为机试题----将其各个字符对应的ASCII值加5后
一、问题描述 程序实现目标: 输入一个字符串,将其各个字符对应的ASCII值加5后,输出结果。 程序要求:该字符串只包含小写字母,若其值加5后的字符值大于'z',将其转换成从a开始的字符。 二、算法分析 两个问题: 1. 如何获得字符的ASCII值 2.如何将大于‘z的字符值转化为从a 开始。 第一个问题: 由于JVM支持char和in原创 2014-03-10 09:53:24 · 1892 阅读 · 0 评论 -
华为机试题----n个长度的字符串中取m个长度的组合
一问题 n个长度的字符串中取m个长度的组合 二、算法 public class Main25 { /** * @param args */ public static void main(String[] args) { Main25 m = new Main25(); String str = "abc"; m.combiantion(str, 2); }原创 2014-03-11 02:14:33 · 1836 阅读 · 1 评论 -
华为机试题----数组中找满足 2^n的数字
一、问题描述 功能描述:找出一个int[]中满足 2^n的数字,然后组成的新的数组 输入:{4,3,8} 输出:{4,8} 二、算法描述 /** * Finds the number matches condition' 2^n' from input data array. * @param data * @return the resultArray including n原创 2014-03-10 00:39:40 · 1272 阅读 · 0 评论