当前位置: 首页 > news >正文

电脑做兼职找那个网站迅雷bt磁力链 最好用的搜索引擎

电脑做兼职找那个网站,迅雷bt磁力链 最好用的搜索引擎,固定ip做网站怎么备案,国外js建设网站华为OD机试 2024D卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(D卷C卷A卷B卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测…

在这里插入图片描述

华为OD机试 2024D卷题库疯狂收录中,刷题点这里

专栏导读

本专栏收录于《华为OD机试(JAVA)真题(D卷+C卷+A卷+B卷)》。

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

一、题目描述

石头剪刀布游戏有 3 种出拳形状:石头、剪刀、布。分别用字母 A , B , C 表示。

游戏规则:

  1. 出拳形状之间的胜负规则如下: A > B;B > C;C > A;">"左边一个字母,表示相对优势形状。右边一个字母,表示相对劣势形状。
  2. 当本场次中有且仅有一种出拳形状优于其它出拳形状,则该形状的玩家是胜利者。否则认为是平局。
  3. 当发生平局,没有赢家。有多个胜利者时,同为赢家。

例如 1: 三个玩家出拳分别是A, B, C ,由于出现三方优势循环(即没有任何一方优于其它出拳者),判断为平局。

例如 2: 三个玩家,出拳分别是 A, B ,出拳 A 的获胜。

例如 3: 三个玩家,出拳全部是 A ,判为平局。

二、输入描述

在一场游戏中,每个玩家的信息为一行。玩家数量不超过 1000 。每个玩家信息有 2 个字段,用空格隔开:

  1. 玩家 ID:一个仅由英文字母和数字组成的字符串
  2. 出拳形状:以英文大写字母表示, A 、B 、C 形状。

例如:

abc1 A
xyz B

解释:玩家 abc1 出拳为石头( A )。玩家 xyz 出拳为剪刀( B )

三、输出描述

输出为赢家的玩家 ID 列表(一个或多个),每个 ID 一行,按字符串升序排列。如果没有赢家,输出为"NULL"字符串。

例如:abc1

1、输入

abc1 A
xyz B

2、输出

abc1

3、说明

A 比 B 有优势,abc1 胜出

四、解题思路

要判断石头剪刀布游戏的赢家,首先需要理解游戏的规则。根据描述,玩家出拳有三种形状,分别用字母 A(石头)、B(剪刀)、C(布)表示。游戏规则是:

  • A > B(石头胜剪刀)
  • B > C(剪刀胜布)
  • C > A(布胜石头)

如果某种形状相对于其他形状有唯一的胜利者,则该形状的玩家获胜;否则为平局。

解决步骤

  1. 读取输入:
    • 读取每个玩家的信息,包括玩家ID和出拳形状。
  2. 统计出拳形状:
    • 统计每种出拳形状的玩家数量及其玩家ID。
  3. 判断胜利者:
    • 根据出拳形状数量判断是否存在唯一的胜者。
    • 如果某种出拳形状有唯一的胜利者,记录其玩家ID;如果没有唯一的胜利者,则为平局。
  4. 输出结果:
    • 如果存在赢家,按字符串升序输出玩家ID;如果没有赢家,输出 “NULL”。

五、Java算法源码

public class Test01 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 存储玩家信息的列表,每个元素是一个包含玩家ID和出拳形状的数组List<String[]> players = new ArrayList<>();// 读取输入的每行数据,直到没有更多输入while (scanner.hasNextLine()) {String line = scanner.nextLine();if (line.isEmpty()) break; // 结束输入时跳出循环players.add(line.split(" ")); // 将玩家ID和出拳形状添加到列表}scanner.close(); // 关闭扫描器// 输出赢家的玩家ID列表,或者输出"NULL"System.out.println(findWinners(players));}public static String findWinners(List<String[]> players) {// 创建一个映射,用于存储每种出拳形状对应的玩家ID列表Map<Character, List<String>> shapeMap = new HashMap<>();shapeMap.put('A', new ArrayList<>());shapeMap.put('B', new ArrayList<>());shapeMap.put('C', new ArrayList<>());// 遍历所有玩家,统计每种出拳形状的玩家for (String[] player : players) {String playerId = player[0]; // 玩家IDchar shape = player[1].charAt(0); // 出拳形状shapeMap.get(shape).add(playerId); // 将玩家ID添加到对应出拳形状的列表中}List<String> winners = new ArrayList<>(); // 用于存储赢家的玩家ID// 判断哪种出拳形状获胜if (shapeMap.get('A').size() > 0 && shapeMap.get('B').size() > 0 && shapeMap.get('C').size() == 0) {winners.addAll(shapeMap.get('A')); // A > B,且没有C,则A获胜} else if (shapeMap.get('B').size() > 0 && shapeMap.get('C').size() > 0 && shapeMap.get('A').size() == 0) {winners.addAll(shapeMap.get('B')); // B > C,且没有A,则B获胜} else if (shapeMap.get('C').size() > 0 && shapeMap.get('A').size() > 0 && shapeMap.get('B').size() == 0) {winners.addAll(shapeMap.get('C')); // C > A,且没有B,则C获胜}// 如果没有赢家,返回"NULL"if (winners.isEmpty()) {return "NULL";}// 按字典顺序排序赢家的玩家ID,并返回结果Collections.sort(winners);StringBuilder result = new StringBuilder();for (String winner : winners) {result.append(winner).append("\n"); // 将每个赢家的ID添加到结果中,每个ID占一行}return result.toString().trim(); // 去掉末尾多余的换行符}
}

六、效果展示

1、输入

abc1 A
def A
alic A
xyz B

2、输出

abc1
alic
def

3、说明

A 为优胜方,有三个赢家。

在这里插入图片描述


🏆下一篇:华为OD机试 - 简易内存池 - 逻辑分析(Java 2024 C卷 200分)

🏆本文收录于,华为OD机试(JAVA)真题(D卷+C卷+A卷+B卷)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

http://www.zhongyajixie.com/news/51115.html

相关文章:

  • seo推广学院廊坊seo外包公司费用
  • 做网站如何获取收益网络平台有哪些?
  • 企业做网站要注意些什么站长工具网站推广
  • 绍兴公司做网站宁德市旅游景点大全
  • 打开备份的wordpressseo推广网络
  • 一些网站是用什么颜色做的网络推广有哪些途径
  • 个人博客网站制作代码模板式自助建站
  • 网站说服力简单的seo
  • 辅导班广告去哪个网站做怎么自己建立一个网站
  • 做网站卖机械百度seo排名如何提升
  • 浏阳做网站的公司价格北京百度推广投诉电话
  • 榆树市住房和城乡建设局网站百度app下载官方免费下载安装
  • 网站实现隶书繁体外包公司是正规公司吗
  • 个人网站 flash百度快照关键词推广
  • 学校网站 功能站长网站优化公司
  • 做团购的家居网站有哪些外贸出口平台网站
  • 专业网站建设软件app推广接单发布平台
  • 国家税务总局网站今天时政新闻热点是什么
  • 山西网站建设排名网站移动端优化工具
  • 昆明新建设电影院网站企业网站排名优化公司
  • 免费网站建站WWW222广州网络营销的推广
  • 在哪请人做网站seo舆情优化
  • 做网站需要多少钱一个月百度爱采购推广效果怎么样?
  • 网站建设中图片是什么意思苏州网站seo服务
  • .org做商业网站网络销售推广公司
  • 网站优化流程图南宁整合推广公司
  • 做决定网站百度推广费用怎么算
  • 苏州网联盛网站建设网址怎么申请注册
  • 乐清市网站建设网站客服系统
  • 青岛网站建设 上流网络广告营销典型案例