2019秋招华为二次笔试题解(含题目) 点赞有offer
这次是水题暴力集中营,题目在五楼,顺便求宇宙条视频面经
1.这个代码交上去是对的,但是对于-1-1AB这种数据就不能得到正确结果。修改代码在下面
import java.util.HashMap;
import java.util.Iterator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str;
str = in.nextLine();
int i, ans = 0, tmp = 0, flag = 1;//1表示正整数
for (i = 0; i < str.length(); i++) {
if (str.charAt(i) >= '0' && str.charAt(i) <= '9') {
tmp = tmp * 10 + flag * (str.charAt(i) - '0');
} else if (str.charAt(i) == '-') {
flag = flag == 1 ? -1 : 1;
} else {
ans += tmp;
tmp = 0;
flag = 1;
}
}
System.out.println(ans + tmp);
}
} 1.修改代码
import java.util.HashMap;
import java.util.Iterator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str;
str = in.nextLine();
int i, ans = 0, tmp = 0, flag = 1;//1表示正整数
for (i = 0; i < str.length(); i++) {
if (str.charAt(i) >= '0' && str.charAt(i) <= '9') {
tmp = tmp * 10 + flag * (str.charAt(i) - '0');
if(i<str.length()&&(str.charAt(i+1)<'0'||str.charAt(i+1)>'9')){
ans+=tmp;
tmp=0;
flag=1;
}
} else if (str.charAt(i) == '-') {
flag = flag == 1 ? -1 : 1;
} else {
ans += tmp;
tmp = 0;
flag = 1;
}
}
System.out.println(ans + tmp);
}
}
2.
import java.util.HashMap;
import java.util.Iterator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int t, n, m, t1, i;
int[] f = new int[60];
t = in.nextInt();
for (t1 = 0; t1 < t; t1++) {
n = in.nextInt();
m = in.nextInt();
for (i = 1; i <= 4; i++) {
f[i] = n * (i+1);
}
for (i = 5; i <= m; i++)
f[i] = f[i - 1] + f[i - 4];
System.out.println(f[m]);
}
}
} 3.
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] a = new int[10];
int[] b = new int[10];
for (int i = 0; i<10; i++) {
a[i] = sc.nextInt();
}
for (int i = 0; i<10; i++) {
b[i] = sc.nextInt();
}
//(a + bi) * (c + di) = (a*c - b*d) + (a*d + b*c)i
int[] c = new int[18];
c[0] = getReal(a[0], a[1], b[0], b[1]);
c[1] = getXu(a[0], a[1], b[0], b[1]);
c[2] = getReal(a[2],a[3],b[0], b[1]) + getReal(a[0],a[1],b[2],b[3]);
c[3] = getXu(a[2],a[3],b[0], b[1]) + getXu(a[0],a[1],b[2],b[3]);
c[4] = getReal(a[4],a[5],b[0], b[1]) + getReal(a[2],a[3],b[2],b[3]) + getReal(a[0],a[1],b[4],b[5]);
c[5] = getXu(a[4],a[5],b[0], b[1]) + getXu(a[2],a[3],b[2],b[3]) + getXu(a[0],a[1],b[4],b[5]);
c[6] = getReal(a[6], a[7],b[0], b[1])+getReal(a[4],a[5],b[2],b[3])+getReal(a[2],a[3],b[4],b[5])+getReal(a[0],a[1],b[6],b[7]);
c[7] = getXu(a[6], a[7],b[0], b[1])+getXu(a[4],a[5],b[2],b[3])+getXu(a[2],a[3],b[4],b[5])+getXu(a[0],a[1],b[6],b[7]);
c[8] = getReal(a[8], a[9],b[0], b[1])+getReal(a[6], a[7],b[2], b[3]) +getReal(a[4],a[5],b[4],b[5])
+ getReal(a[2],a[3],b[6],b[7]) + getReal(a[0],a[1],b[8],b[9]);
c[9] = getXu(a[8], a[9],b[0], b[1])+getXu(a[6], a[7],b[2], b[3]) +getXu(a[4],a[5],b[4],b[5])
+ getXu(a[2],a[3],b[6],b[7]) + getXu(a[0],a[1],b[8],b[9]);
c[10] = getReal(a[2],a[3],b[8],b[9]) + getReal(a[4],a[5],b[6],b[7])+getReal(a[6],a[7],b[4],b[5])+
+ getReal(a[8],a[9],b[2],b[3]);
c[11] = getXu(a[2],a[3],b[8],b[9]) + getXu(a[4],a[5],b[6],b[7])+getXu(a[6],a[7],b[4],b[5])+
+ getXu(a[8],a[9],b[2],b[3]);
c[12] = getReal(a[4],a[5],b[8],b[9]) + getReal(a[6],a[7],b[6],b[7]) +getReal(a[8],a[9],b[4],b[5]);
c[13] = getXu(a[4],a[5],b[8],b[9]) + getXu(a[6],a[7],b[6],b[7]) +getXu(a[8],a[9],b[4],b[5]);
c[14] = getReal(a[6],a[7],b[8],b[9]) + getReal(a[8],a[9],b[6],b[7]);
c[15] = getXu(a[6],a[7],b[8],b[9]) + getXu(a[8],a[9],b[6],b[7]);
c[16] = getReal(a[8],a[9],b[8],b[9]);
c[17] = getXu(a[8],a[9],b[8],b[9]);
for (int num : c) {
System.out.println(num);
}
}
private static int getReal(int a, int b, int c, int d) {
return a*c - b*d;
}
private static int getXu(int a, int b, int c, int d) {
return a*d + b*c;
}
}#华为##题解##秋招##笔试题目#

