今晚的模拟笔试编程题(JAVA卷)
第一道题:求重复数字
import java.util.Scanner;
public class Main {
public static Boolean process(String str, int n) {
if (n == 1) {
return true;
}
int p1 = 0;
int p2 = n / 2 + 1;
while (p2 < n + 1) {
if (str.charAt(p1++) != str.charAt(p2++)) {
return false;
}
}
return true;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
int n = str.length() -1 ;
while (--n > 0) {
if (n % 2 != 0) {
if (process(str, n) == true) {
System.out.println(n + 1);
break;
}
}
}
}
}
第二道题 求最多的回文串数目
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
HashMap<Character, Integer> map = new HashMap<>();
for (int i = 0; i < str.length(); i++) {
if (map.containsKey(str.charAt(i))) {
map.put(str.charAt(i), map.get(str.charAt(i)) + 1);
} else {
map.put(str.charAt(i), 1);
}
}
int count = 0;
Boolean hasEven = false;
for (Map.Entry<Character, Integer> entry : map.entrySet()) {
if (entry.getValue() % 2 != 0) {
count++;
} else {
hasEven = true;
}
}
if (hasEven == true && count == 1) {
System.out.println(1);
} else {
System.out.println(count);
}
}
}
第三道一直想打表,无奈没时间找出规律,只过了20%,求各路大神指导。
#笔试题目##Java#
传音控股公司福利 356人发布