快手工程B笔试
第1、3题AC,第二题70%
第一题是LeetCode上第72题
第二题用的很蠢很蠢的方法
第三题其实比第一题简单,并不需要用dp,代码如下:
import java.util.LinkedList;
import java.util.Scanner;
public class Main3 {
public static int minOpe(int target, int n, LinkedList<Integer> list) {
int size = list.size();
Integer item;
while (size > 0) {
item = list.removeFirst();
if (item == target) {
return n;
} else {
list.offerLast(item + 1);
list.offerLast(item - 1);
list.offerLast(item * 2);
size--;
}
}
return minOpe(target, n + 1, list);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
LinkedList<Integer> list = new LinkedList<>();
String[] split = str.split(",");
Integer target = Integer.valueOf(split[1]);
list.add(new Integer(split[0]));
System.out.println(minOpe(target, 0, list));
}
}
能不能进面看天意吧。。。
#快手##笔试题目##题解##春招#