字节跳动提前批笔试第1题 田忌赛马

田忌赛马
题目:
你队伍和另外一个队伍比赛,给你大家的能力值,pk大于+1分,等于不加分,小于-1分,求你们组的最大分

方法:贪心法
思路:其实就是田忌赛马的题,换了个应用场景而已,
分几种情况:
1.如果你的最快马大于另外队最快马,则比
2.如果你的最快马小于另外队最快马,则让你的最慢马跟他的最快马比较
3.如果你的最快马等于它的最快马,则开始比较最慢马,分两种情况
3.1 如果你的最慢马快于它的最慢马,则比较
3.2 如果你的最慢马小于等于它的最慢马,则用你的最慢马和它的最快马比较

代码:

public static void main(String[] args) {
        List list1 = new ArrayList();
        List list2 = new ArrayList();
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        boolean isLast = false;
        for (int i = 0; i list2.get(y)){//如果田忌当前最好的马可以胜齐王最好的马,那么比一场
                sum++;
                x--;
                y--;
            }else if(list1.get(x)list2.get(j)){//如果田忌最差的马大于齐王最差的马,那么比一场
                    sum++;
                    i++;
                    j++;
                }else{//如果田忌最差的马小于等于齐王最差的马,那么让田忌最差的马跟齐王最好的马比较
                    sum--;
                    i++;
                    y--;
                }
            }
        }
        System.out.println(sum);
    }

你可能感兴趣的:(校招笔试题)