同学 2020/4/10 美团笔试

纯粹记录,现在没时间都做一遍了,以后刷多点leetcode会回过头来看的,有好的想法可以留言讨论一下。

带头冲锋

代码如下:

import java.util.Scanner;

public class Main1 {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);
        int n =Integer.parseInt(sc.nextLine().trim());
        String startStr =sc.nextLine().trim();
        String endStr =sc.nextLine().trim();
        String[] startStrArr=startStr.split("\\s+");
        String[] endStrArr=endStr.split("\\s+");
        int[] startArr =new int[n+1];//根据选手编号找出发位置
        int[] parStartArr=new int[n];//根据出发位置找选手编号
        int[] endArr =new int[n+1];
        int[] parEndArr=new int[n];
        int count =0;
        for(int i=0;ik){
                    count++;
                    break;
                }
            }

        }
        System.out.println(count);
    }
}

金字塔题目题解: https://blog.csdn.net/shao1996/article/details/51910468

类似斐波那契数列,找到规律,一个for循环解决。代码如下:

import java.util.Scanner;

public class Main2 {
    public static void main(String[] args) {
        double MOD=Math.pow(10,9)+7;
        int k;
        Scanner sc =new Scanner(System.in);
        k = sc.nextInt();
        if(k<4){
            if(k==3) System.out.println(6);
            else if(k==2) System.out.println(3);
            else System.out.println(0);
            return;
        }
        double step[]= new double[k+1];
        step[0]=0;step[1]=0;step[2]=3;step[3]=6;
        for(int i = 4; i <= k; i++)
        {
            step[i] = (3*step[i-2] + 2*step[i-1])%MOD;
        }
        System.out.println(new Double(step[k]).intValue());
    }
}

 

你可能感兴趣的:(同学 2020/4/10 美团笔试)