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

台州网站建设公司哪个好景区类网站

台州网站建设公司哪个好,景区类网站,淄博个人网站建设,wordpress加分页问题描述 在一场经典的德州扑克游戏中#xff0c;有一种牌型叫做“葫芦”。“葫芦”由五张牌组成#xff0c;其中包括三张相同牌面值的牌 aa 和另外两张相同牌面值的牌 bb。如果两个人同时拥有“葫芦”#xff0c;我们会优先比较牌 aa 的大小#xff0c;若牌 aa 相同则再比… 问题描述 在一场经典的德州扑克游戏中有一种牌型叫做“葫芦”。“葫芦”由五张牌组成其中包括三张相同牌面值的牌 aa 和另外两张相同牌面值的牌 bb。如果两个人同时拥有“葫芦”我们会优先比较牌 aa 的大小若牌 aa 相同则再比较牌 bb 的大小。 在这个问题中我们对“葫芦”增加了一个限制组成“葫芦”的五张牌牌面值之和不能超过给定的最大值 maxmax。牌面值的大小规则为A K Q J 10 9 ... 2其中 A 的牌面值为1K 为13依此类推。 给定一组牌你需要找到符合规则的最大的“葫芦”组合并输出其中三张相同的牌面和两张相同的牌面。如果找不到符合条件的“葫芦”则输出 “0, 0”。 测试样例 样例1 输入n 9, max 34, array [6, 6, 6, 8, 8, 8, 5, 5, 1] 输出[8, 5] 样例2 输入n 9, max 37, array [9, 9, 9, 9, 6, 6, 6, 6, 13] 输出[6, 9] 样例3 输入n 9, max 40, array [1, 11, 13, 12, 7, 8, 11, 5, 6] 输出[0, 0]   解题思路 问题理解 我们需要找到一组牌中符合“葫芦”规则的最大组合。具体来说“葫芦”由三张相同牌面值的牌和两张相同牌面值的牌组成并且这五张牌的牌面值之和不能超过给定的最大值 max。 数据结构选择 牌面值的映射由于牌面值的大小规则是 A K Q J 10 9 ... 2我们可以使用一个映射来表示这些牌面值例如 unordered_mapint, int cardValue {{1, 14}, // A{13, 13}, // K{12, 12}, // Q{11, 11}, // J{10, 10}, // 10{9, 9}, // 9{8, 8}, // 8{7, 7}, // 7{6, 6}, // 6{5, 5}, // 5{4, 4}, // 4{3, 3}, // 3{2, 2} // 2 }; 这样我们可以方便地比较牌面值的大小。 牌的计数我们可以使用一个 std::unordered_mapint, int 来统计每种牌面值的出现次数。 算法步骤 统计每种牌面值的出现次数遍历输入的牌数组统计每种牌面值的出现次数。寻找符合条件的“葫芦” 遍历统计结果找到所有出现次数大于等于3的牌面值记为 a。对于每个 a再遍历统计结果找到所有出现次数大于等于2的牌面值记为 b。计算 a 和 b 的牌面值之和如果不超过 max则记录这个组合。选择最大的“葫芦”在所有符合条件的组合中选择牌面值最大的 a 和 b。 转换成python的最终代码 from collections import defaultdictdef solution(n, max_sum, array):# 牌面值的映射card_value {1: 14, # A13: 13, # K12: 12, # Q11: 11, # J10: 10, # 109: 9, # 98: 8, # 87: 7, # 76: 6, # 65: 5, # 54: 4, # 43: 3, # 32: 2 # 2}# 统计每种牌面值的出现次数count defaultdict(int)for card in array:count[card] 1# 寻找符合条件的“葫芦”max_a -1max_b -1for a, count_a in count.items():if count_a 3:for b, count_b in count.items():if a ! b and count_b 2:# 计算牌面值之和sum_value card_value[a] * 3 card_value[b] * 2if sum_value max_sum:# 更新最大组合if max_a -1 or card_value[a] card_value[max_a] or \(card_value[a] card_value[max_a] and card_value[b] card_value[max_b]):max_a amax_b b# 返回结果if max_a -1 and max_b -1:return [0, 0]else:return [max_a, max_b]# 测试用例 result1 solution(9, 34, [6, 6, 6, 8, 8, 8, 5, 5, 1]) print(result1 [8, 5])result2 solution(9, 37, [9, 9, 9, 9, 6, 6, 6, 6, 13]) print(result2 [6, 9])result3 solution(9, 40, [1, 11, 13, 12, 7, 8, 11, 5, 6]) print(result3 [0, 0]) 到这里我以为就完了谁知道这题面都还有坑  一开始还以为是测试用例有问题呢看了好一会才反应过来A这张牌它是所有牌中最大的但是它的牌面却是最小的nndx我以为只是默认A是最大的牌呢这题太害人了 找到问题就好办了也就是说要特判一次如果P[1]的数量是大于等于3的那就直接用它当maxA如果是小于3但是大于等于2的直接用来当maxB AC代码 from collections import defaultdictdef solution(n, max_sum, array):# 牌面值的映射card_value {1: 14, # A13: 13, # K12: 12, # Q11: 11, # J10: 10, # 109: 9, # 98: 8, # 87: 7, # 76: 6, # 65: 5, # 54: 4, # 43: 3, # 32: 2 # 2}# 统计每种牌面值的出现次数count defaultdict(int)for card in array:adjusted_card card if card ! 1 else 14count[adjusted_card] 1# 寻找符合条件的“葫芦”num3 0num2 0current_sum 0for key, value in count.items():if value 3:for other_key, other_value in count.items():if other_key ! key and other_value 2:sum_value calculate_sum(key if key ! 14 else 1, other_key if other_key ! 14 else 1)if sum_value max_sum:if key num3 or (key num3 and other_key num2):num3 keynum2 other_keycurrent_sum sum_value# 返回结果if current_sum 0:return [num3 if num3 ! 14 else 1, num2 if num2 ! 14 else 1]else:return [0, 0]def calculate_sum(num1, num2):return num1 * 3 num2 * 2# 测试用例 result1 solution(9, 34, [6, 6, 6, 8, 8, 8, 5, 5, 1]) print(result1 [8, 5])result2 solution(9, 37, [9, 9, 9, 9, 6, 6, 6, 6, 13]) print(result2 [6, 9])result3 solution(9, 40, [1, 11, 13, 12, 7, 8, 11, 5, 6]) print(result3 [0, 0]) 运行结果 舒服了
http://www.hkea.cn/news/14419229/

相关文章:

  • 企业为什么做平台网站wordpress如何发布视频
  • 网站建设文字资料校园网站的建设作用
  • 朝阳网站建设公司网站建设情况说明总结
  • 查网站备案名称信阳百度推广公司
  • 优化网站的公司哪家好磁力网站怎么做的
  • 深圳网站专业建设公司wordpress怎么上传视频
  • 农化网站建设福州网站建设制作品牌企业
  • 佛山网站优化排名推广十八款禁用黄台入口app
  • 宿城区建设局网站低价郑州网站建设
  • 网站建设内部优化施工企业会计分录大全
  • 南宁企业建站模板更换wordpress标志
  • 昆山做网站的kamesewordpress 付费查看文章
  • 专业品牌网站建设软件设计专业
  • 企业建网站服务wordpress目录 读写权限设置
  • jsp网站开发步骤济南网站建设599
  • 企业网站数据库表设计企业官方网站建设教程
  • 做网站的小图标简单的装x编程代码
  • 中山网站建设半江红学校网站设计论文
  • 迎中国建设银行网站网新科技集团有限公司
  • 公司网站建设的心得想自学软件开发难吗
  • 杭州网站排名外包怎样建设单位网站
  • seo网站建设步骤最好的网站建设
  • seo服务器优化搜索引擎优化要考虑哪些方面?
  • 贵州省城乡建设厅网站材料价怎么做qq网站
  • 个人网站开发如何赚钱吗滨州正规网站建设价格
  • 小米网站建设案例做钉子出口哪个网站好
  • 什么网站可以用视频做背景广东省建站公司
  • 扬州网站推广旅行用品东莞网站建设
  • 层流病房建设单位网站广州新闻热点事件
  • 怒江北京网站建设学校网站建设工作