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

电商网站设计公司排行榜安徽平台网站建设设计

电商网站设计公司排行榜,安徽平台网站建设设计,长沙网站建设网,网站维护和网页维护区别文章目录 斗地主中的“三带一”牌型判断题目描述三带一牌型定义输入格式输出格式样例输入样例输出说明评测数据范围 思路分析问题核心思路拆解代码实现复杂度分析总结的知识点 好的,我会将你提供的题目描述、输入输出格式、思路分析、代码段及其逐行讲解、复杂度分析…

文章目录

  • 斗地主中的“三带一”牌型判断
    • 题目描述
      • 三带一牌型定义
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 说明
      • 评测数据范围
    • 思路分析
      • 问题核心
      • 思路拆解
      • 代码实现
      • 复杂度分析
      • 总结的知识点

好的,我会将你提供的题目描述、输入输出格式、思路分析、代码段及其逐行讲解、复杂度分析以及总结的知识点整合成一个完整的博客内容。以下是详细的博客文章:


斗地主中的“三带一”牌型判断

题目描述

小蓝和小桥玩斗地主,小蓝只剩四张牌了,他想知道是否是“三带一”牌型。

三带一牌型定义

所谓“三带一”牌型,即四张手牌中,有三张牌一样,另外一张不与其他牌相同。换种说法,四张手牌经过重新排列后,可以组成 AAAB 型。

输入格式

  • 第一行:输入一个整数 ( T ),代表斗地主的轮数。
  • 接下来 ( T ) 行:每行输入一个长度为 4 的字符串,代表小蓝的手牌。

字符 { 'A','2','3','4','5','6','7','8','9','X','J','Q','K' } 对应代表牌面 { A,2,3,4,5,6,7,8,9,10,J,Q,K }

牌面中不包含大小王。

输出格式

输出 ( T ) 行,每行一个字符串,如果当前牌是“三带一”牌型,输出 Yes,否则输出 No

样例输入

5
AAAA
33X3
JQKX
6566
KKKQ

样例输出

No
Yes
No
Yes
Yes

说明

“四炸”牌型不属于“三带一”牌型。

评测数据范围

  • 数据范围:( 1 \leq T \leq 50 )。
  • 字符中只包含:{ A,2,3,4,5,6,7,8,9,X,J,Q,K }。

思路分析

问题核心

判断给定的四张牌是否满足“三带一”的条件,即有三张相同的牌和一张不同的牌,并且排除“四炸”(四张相同的牌)的情况。

思路拆解

  1. 统计每种牌的数量

    • 使用哈希表(HashMap)来统计每种牌出现的次数。
  2. 检查是否满足“三带一”的条件

    • 检查是否有某一种牌出现三次,同时另一种牌出现一次。
    • 确保总共只有两种不同的牌。
  3. 排除“四炸”情况

    • 如果所有牌都是相同的,则不是“三带一”。

代码实现

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();for (int i = 0; i < n; i++) {Map<String, Integer> map = new HashMap<>();String hand = sc.next();// 统计每种牌的数量for (char card : hand.toCharArray()) {String cardStr = String.valueOf(card);map.put(cardStr, map.getOrDefault(cardStr, 0) + 1);}boolean isThreeOfAKind = false;boolean isOneOfAKind = false;// 检查是否满足三带一的条件for (int count : map.values()) {if (count == 3) {isThreeOfAKind = true;} else if (count == 1) {isOneOfAKind = true;}}// 输出结果if (isThreeOfAKind && isOneOfAKind && map.size() == 2) {System.out.println("Yes");} else {System.out.println("No");}}sc.close();}
}

在这里插入图片描述

复杂度分析

  • 时间复杂度:对于每一轮手牌,需要遍历长度为 4 的字符串并进行哈希表操作,因此时间复杂度为 ( O(T \cdot 4) ),即 ( O(T) ),其中 ( T ) 是轮数。
  • 空间复杂度:使用了一个大小为最多 2 的哈希表来存储牌的数量,因此空间复杂度为 ( O(1) )。

总结的知识点

  1. 哈希表操作:如何使用 HashMap 统计每种牌的数量。
  2. 字符串处理:如何将字符串转换为字符数组进行遍历。
  3. 布尔标志位:如何通过布尔标志位来标记特定条件是否满足。
  4. 输入输出处理:使用 Scanner 进行输入输出操作。
http://www.dtcms.com/a/603839.html

相关文章:

  • 网站建设的常见技术有哪些淄博 网站制作
  • 大型网站制作西安市网站建设公司
  • 网站为什么被降权浦东企业网站建设
  • 常见的网络营销模式seo咨询河北
  • 企业网站制作运营企业新闻营销
  • 国内课程网站建设现状怎么自己做论坛网站
  • 域名注册官方网站网络营销的方式
  • 代做毕业设计找哪个网站好中国专门做统计网站
  • 商城开发网站建设开发公司网站设计欣赏
  • 网站代码seo优化精品成品网站源码
  • 四川同风源建设工程有限公司网站企业网站有哪些例子
  • 昆山网站建设犀牛大叔深圳手机商城网站设计电话
  • 自己做网站一定要实名吗石家庄ui设计公司
  • html5 企业网站模板河南seo
  • 广州网站建设易企网络管理软件免费
  • 山西网站建设运营公司东莞响应式网站哪家强
  • 西安网站用模板建商城购物网站
  • c h5网站开发wordpress娱乐网模板
  • 太原专业网站建设wordpress v4.9
  • 广州网站建设的价格长沙网站的建设
  • 太谷网站建设服务器做民俗酒店到哪些网站推荐
  • 淘宝站内推广方式有哪些嵌入式软件开发的流程包括
  • 做网站用的动漫资料dns修改国外网站
  • ui网站界面google地图嵌入网站
  • 网站超市系统 源码平台搭建教程
  • 织梦网站产品三亚网站怎么制作
  • 生活抱怨与解决方案app
  • php做网站需要的技术wordpress主题模板 国人
  • 厦门网站建设68大网站都开放自己的cms系统
  • 中国建设银行抚州分行网站优化电池充电是关闭还是打开好