描述
给定一个字符串数组lines
, 每一个元素代表一个IP地址,找到出现频率最高的IP。
给定数据只有一个频率最高的IP
样例
样例1:
输入 = ["192.168.1.1","192.118.2.1","192.168.1.1"]
输出 "192.168.1.1"
样例2:
输入 = ["192.168.1.1","192.118.2.1","192.168.1.1","192.118.2.1","192.118.2.1"]
输出 "192.118.2.1"
代码实现
public static String highestFrequency(String[] ipLines) {
String ip = ipLines[0]; //初始化数组第一个为频率最高
int totall = 1; //初始化次数为1
int cnn = 1;
for (int i = 0; i < ipLines.length; i++) {
for (int j = 0; j < ipLines.length; j++) {
if (i == j){ //i和j相等表明都指向相同元素,不做比较
continue;
}
if (ipLines[i].equals(ipLines[j])){ //ip相同cnn++
cnn++;
}
}
if (cnn > totall) { //如果记录出新的最高频率,覆盖之前ip和次数
ip = ipLines[i];
totall = cnn;
}
cnn = 1;
}
return ip;
}