贝壳网笔试

This commit is contained in:
xiongraorao 2018-08-18 23:35:20 +08:00
parent 7fd93ce091
commit 475ef3bd63
3 changed files with 136 additions and 0 deletions

View File

@ -0,0 +1,69 @@
package com.raorao.interview.beike.t1;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
/**
* .
*
* @author Xiong Raorao
* @since 2018-08-18-19:53
*/
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String line1 = scanner.nextLine();
String[] items = line1.split(" ");
int n = Integer.parseInt(items[0]);
int p1 = Integer.parseInt(items[1]);
int p2 = Integer.parseInt(items[2]);
int p3 = Integer.parseInt(items[3]);
int t1 = Integer.parseInt(items[4]);
int t2 = Integer.parseInt(items[5]);
Interval[] intervals = new Interval[n];
for (int i = 0; i < n; i++) {
String[] temp = scanner.nextLine().split(" ");
intervals[i] = new Interval(Integer.parseInt(temp[0]), Integer.parseInt(temp[1]));
}
System.out.println(compute(n, p1, p2, p3, t1, t2, intervals));
}
public static int compute(int n, int p1, int p2, int p3, int t1, int t2, Interval[] intervals) {
int count = 0;
Arrays.sort(intervals, Comparator.comparingInt(e -> e.end));
for (int i = 0; i < n; i++) {
count += p1 * (intervals[i].end - intervals[i].start);
if (i < n - 1) {
count += intevalSum(p1, p2, p3,t1, t2, intervals[i + 1].start - intervals[i].end);
}
}
return count;
}
public static int intevalSum(int p1, int p2, int p3, int t1, int t2, int interval) {
if (interval <= 0) {
return 0;
} else if (interval <= t1) {
return p1 * interval;
} else if (interval <= t1 + t2) {
return p1 * t1 + p2 * (interval - t1);
} else {
return p1 * t1 + p2 * t2 + p3 * (interval - t1 - t2);
}
}
static class Interval {
int end;
private int start;
public Interval(int start, int end) {
this.start = start;
this.end = end;
}
}
}

View File

@ -0,0 +1,30 @@
package com.raorao.interview.beike.t1.t2;
import java.util.Scanner;
/**
* .
*
* @author Xiong Raorao
* @since 2018-08-18-20:35
*/
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = Integer.parseInt(scanner.nextLine());
String[] line = scanner.nextLine().split(" ");
int[] data = new int[n];
for (int i = 0; i < n; i++) {
data[i] = Integer.parseInt(line[i]);
}
int count = 0;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
count += Math.abs(data[i] - data[j]);
}
}
System.out.println(count);
}
}

View File

@ -0,0 +1,37 @@
package com.raorao.interview.beike.t1.t3;
import java.util.HashMap;
import java.util.Map;
/**
* .
*
* @author Xiong Raorao
* @since 2018-08-18-20:54
*/
public class Main {
public static void main(String[] args) {
String test = "8K67A65K27T59K346AK2";
// out = 4;
}
/**
*
* /*
* 样例解释
* 4轮出牌顺序为
* A234567
* 56789T
* KKKKA2
* 6
*
* */
public static void process(String input) {
char[] chars = input.toCharArray();
Map<String, Integer> map = new HashMap<>();
}
}