2016 广联达面试题4

问题描述:
 * 已知某次聚会共有N个人参加,这N个人来自26个不同的地区,先将26个地区用a-z进行表示,
 * 使用整数数组Location存储这N个人的地区,请返回一个boolean类型的变量

 * true代表所有人的地区都不一样,false代表存在一样地区的人。

下面是java实现的代码:在主函数中随便写了一些代码测试了一下函数的功能。

import java.util.Scanner;


public class Sub_4 {
static int person_num;
static char[] location = "abcdefghi".toCharArray();
public static void main(String[] args){
Scanner reader = new Scanner(System.in);
if(judgeLoc(location)){
System.out.println("there is  no same nation here. ");
}else{
System.out.println("there is same nation here.");
}


}
public static boolean judgeLoc(char[] loc){
int len = loc.length;
int[] countLoc =  new int[26];
int index;
//如果人数大于26,肯定存在相同的名族
if(len > 26){
return false;
}else{
//遍历整个loc数组,统计每一个字母出现的次数,如果出现的次数大于1,即存在相同名族
for(int i = 0; i < len; i++ ){
index = loc[i] - 'a';
countLoc[index]++;
}
for(int i = 0; i < 26; i++){
if(countLoc[i] > 1){
return false;
}
}
}
return true;

}
}


你可能感兴趣的:(2016 广联达面试题4)