【笔经】【美团】
1.反转数字,找出n以内的所有反转数,定义是一个数的四倍如果是它的反转就是反转数,比如2178*4 = 8712
import java.util.*; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int count = 0; int[][] arr = new int[100][2]; for (int i = 1; i < n; i++) { if(4 * i > n) continue; String str = Integer.toString(i); String res = new StringBuffer(str).reverse().toString(); int j = Integer.valueOf(res); if(i * 4 == j){ count++; arr[count][0] = i; arr[count][1] = j; } } System.out.println(count); for (int i = 0; i < arr.length; i++) { if(arr[i][0] != 0){ System.out.print(arr[i][0]+" "); System.out.println(arr[i][1]); } } } }2.旅游,从起点一定会回到终点,求多少次旅程,题目保证每次旅行都会有一个终点。
输入 城市忘了,用字母大概代替吧
6
a b
b c
c a
a b
b a
dfs做,没完全通过。
输出:2 a->b->c->a 和a->b->a
3.送外卖,整合订单
输入:第一行n,m,接下来m行,每行两个整数a,b表示订单是同一小区的
输出:x表示多少个不同小区,再输出不同小区的订单编号。
应该是并查集来做吧,没写完。
4.AB两地分别需要a和b辆汽车,求最大利润
输入:第一行n,a,b,n是车辆总数,接下来n行,每行的x,y表示每辆车到A,B两地的利润
输出:最大利润
输入:
5 2 2
4 2
3 3
5 4
5 3
1 5
输出:18
5.看了一下,忘了,dp来做吧应该