美文网首页
纸牌游戏-(腾讯2018)

纸牌游戏-(腾讯2018)

作者: 天使的流浪 | 来源:发表于2019-01-03 10:02 被阅读0次

题目:n张牌,每张牌上 写着数字ai;使用最优策略,牛牛先抽,羊羊后抽,求牛牛的总分与羊羊的总分差值;
分析:最优策略,即贪心算法,每次选择当前最大的元素;
实现:
1.基于贪心算法,将元素进行排序(降序排列);
2.每次选择当前最大的元素,牛牛为奇数项,羊羊为偶数项;
说明:输入三个数,分别为:2,7,4,输出结果为:5
输入:
3
2 7 4
输出:
5

package com.bj.tencent;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;

/* 纸牌游戏: */
public class Test4 {
    public static void main(String[] args) {
        @SuppressWarnings("resource")
        int count = new Scanner(System.in).nextInt();
        ArrayList<Integer> list = new ArrayList<>();
        @SuppressWarnings("resource")
        Scanner scan = new Scanner(System.in);
        String str = scan.nextLine();
        String strs [] = str.split(" ");
        //如果输入不相符,直接退出
        if (count!=strs.length) return;
        for (int i = 0; i < strs.length; i++) {
            list.add(Integer.parseInt(strs[i]));
        }
        //重写方法,将其改为降序排列
        Collections.sort(list,new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2-o1;
            }
        });
        int sum = 0;
        for (int i = 0; i < list.size(); i++) {
            if(i%2==0){
                sum+=list.get(i);
            }else{
                sum-=list.get(i);
            }
        }
        //如果含有偶数个元素,需要将元素求绝对值
        //if (list.size()%2==0) sum = -sum;
        System.out.println(sum);
    }

}

知识点:
1.数据输入和字符串的切分;
2.如何使用排序函数?(考虑什么数据结构在满足题目要求的情况下,可以实现排序);
3.对系统函数进行重写,实现降序排序,满足贪心的原则;

相关文章

  • 纸牌游戏-(腾讯2018)

    题目:n张牌,每张牌上 写着数字ai;使用最优策略,牛牛先抽,羊羊后抽,求牛牛的总分与羊羊的总分差值;分析:最优策...

  • [13]纸牌游戏-腾讯2018秋

    1.题目描述 牛牛和羊羊正在玩一个纸牌游戏。这个游戏一共有n张纸牌,第i张纸牌上写着数字ai。牛牛和羊羊轮流抽牌,...

  • 腾讯春招2018编程题----纸牌游戏

    Description:牛牛和羊羊正在玩一个纸牌游戏。这个游戏一共有n张纸牌, 第i张纸牌上写着数字ai。牛牛和羊...

  • 纸牌游戏

    人生就像一场纸牌游戏, 你永远也猜不到下一张牌是什么, 正如你永远也掌控不了外界的人事物。 可是,54张纸牌你都知...

  • 纸牌游戏

    今天我们几个之间的关系没有前两天那么尴尬了。至少叫上我一起玩了纸牌游戏,人越多越是热闹越是好玩。因为总是反转,以为...

  • 纸牌游戏

    一手扑克牌,半部人生曲。 小时候,还是上世纪七十年代,那时候阶级斗争搞得还很激烈,我们还刚认得阿拉伯数字大小,孩子...

  • “掌上彩色纸牌”一款精彩游戏

    电脑上自带的纸牌游戏大家都不陌生吧?今天就给大家带来一款手机上也可以玩的纸牌游戏,游戏的玩法和电脑上一样,将纸牌按...

  • 纸牌搭塔

    这周是科技周,有一些游戏活动,我参加了纸牌搭塔。 纸牌搭塔是用纸牌搭一个塔,谁家的高谁就赢(可以折叠)。这个游戏是...

  • C++挑战蜘蛛纸牌(专家级)这是一个假的专家级挑战!

    c++设置"蜘蛛纸牌"游戏,设置Windows中的"蜘蛛纸牌"游戏的参数设置,让其关闭声音、关闭动画效果,仅此而已...

  • 语文作业19

    放假在家多无聊,于是,我就和妹妹,表姐玩一个纸牌游戏――UNO。这个纸牌游戏很简单,但也很考智慧。UNO两...

网友评论

      本文标题:纸牌游戏-(腾讯2018)

      本文链接:https://www.haomeiwen.com/subject/zxoxrqtx.html