教程集 www.jiaochengji.com
教程集 >  脚本编程  >  java  >  正文 华为java机试面试题目大全

华为java机试面试题目大全

发布时间:2016-10-31   编辑:jiaochengji.com
教程集为您提供华为java机试面试题目大全等资源,欢迎您收藏本站,我们将为您提供最新的华为java机试面试题目大全资源
面试题不同公司有所不同,今天我整理了一些java上机面试题例子,希望这些例子对大家会有所帮助。

题目:
有n 个人围城一圈每次从1数起数到3就把那个人提出圈子,最后只保留一个人。
输入: 输入人数字符串
输出:把最后一个人所保留位置返回出来。
比如你输入11 的话即有11个人 [1,2,3,4,5,6,7,8,9,10,11] 。返回的是7.
如果输入”123a” 的话,返回的是”0″。

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy3147')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy3147>

package com.javaer.huawei;
 
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
 
public class TestJosephRing {
 
public static void main(String args[]){
String n = "11";
TestJosephRing tj = new TestJosephRing();
System.out.println(tj.getTheLeftPerson(n));
}
 
public int getTheLeftPerson(String num){
 
Pattern p = Pattern.compile("[a-zA-Z]|p{Punct}");//处理非法字符
Matcher m = p.matcher(num);
if(m.find()){
return 0;
}
 
int n = Integer.parseInt(num);
List<Integer> pL = new ArrayList<Integer>();
for(int i=0; i<n; i ){
pL.add(i 1);
}
 
int count = 3;
for(int i=0; i<n-1; i ){
int temp = (count-1)%pL.size();//要移除的位置
pL.remove(temp);
count = temp 3; //保留被移除的位置,再加上计数
}
 
//最后肯定只剩下一个
return pL.get(0);
}
}

题目:

手动输入一个字符串,仅限小写字母,统计并输出每个字符在字符串中出现的次数,并输出。提示可以用map

例子:输入:aaabbbccc

输出:a 3

b 3

c 3

分析: 看到后面的提示,简直就是不用动脑,直接简单粗暴的顺势而上

直接上代码:

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy5730')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy5730>

package com.javaer.huawei;
 
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
 
public class TestCharAcount {
 
public static void main(String args[]) {
String strIn = "aaabbbccc";
TestCharAcount tc = new TestCharAcount();
Map<Character, Integer> mTemp = tc.charAcount(strIn);
 
Set<Character> ks = mTemp.keySet();// 生成索引set
for (Iterator<Character> it = ks.iterator(); it.hasNext();) {// 遍历索引取值
char c = it.next();
System.out.println(c " " mTemp.get(c));
}
 
}
 
public Map<Character, Integer> charAcount(String strIn) {
String tempStr = strIn;
 
// The map is sorted according to the natural ordering of its keys
// treemap是以键的自然顺序来存储值的
Map<Character, Integer> m = new TreeMap<Character, Integer>();
char[] strC = tempStr.toCharArray();
for (int i = 0; i < strC.length; i ) {
Integer count = m.get(strC[i]);
if (null == count)
count = 0;
 
count ;
m.put(strC[i], count);
}
 
return m;
}
}

您可能感兴趣的文章:
华为java机试面试题目大全
C#就是Java只不过差了一点点
Java学习路径(三)过程篇
VSCode配置golang开发环境
php程序员面试题及答案(基础理论型)
经典Java线程面试题70道
java多线程编程测试笔记
有感:应聘Java笔试时可能出现问题及其答案
玩Google有妙法:使用技巧十九招
Java程序多线程测试笔记

[关闭]
~ ~