常见面试算法题-打麻将

devtools/2024/11/10 12:12:32/

 题目描述

【打麻将】

给定一个列表,里面含所有14个元素,问这14个元素,能不能组成3+3+3+3+2的组合,3格式可以表示顺子,或者3张相同的牌,2表示对子(两张相同的牌)类似麻将胡牌一样,若能组成,返回True,不能则返回False

输入描述

输入14个数字表示列表的14个元素

输出描述

True or False

示例1   输入输出示例仅供调试,后台判题数据一般不包含示例

1 2 3 2 3 4 3 4 5 5 5 6 7 8

输出

True

因为可以组成[1,2,3][2,3,4][4,5,6][6,7,8][5,5]的3+3+3+3+2的组合

示例2   输入输出示例仅供调试,后台判题数据一般不包含示例

1 2 3 4 5 6 7 8 9 10 11 12 13 14

输出

False

不能组成3+3+3+3+2的组合

以下代码为本人原创,可以供大家参考,若有不足之处,感谢指出!!!!

import collections
import copy
nums = list(map(int, input().split()))
count = collections.Counter(nums)
tag = Falsefor num in count.keys():if count[num] >= 2:count_copy = copy.deepcopy(count)count_copy[num] -= 2dp = {(0, 0): 0}for num in sorted(count_copy):dp_copy = collections.defaultdict(int)x, y, z = count_copy[num], count_copy[num+1], count_copy[num+2]for (i,j), c in dp.items():for k in range(3):if i+k <= x and j+k <= y and k<= z:dp_copy[k+j, k] = max(dp_copy[j+k, k], c+(x-i-k)//3 + k)dp = dp_copyif max(dp.values()) == 4:tag = Truebreak
print(tag)


http://www.ppmy.cn/devtools/12592.html

相关文章

ffmpeg支持MP3编码的方法

目录 现象 解决办法 如果有编译包没有链接上的情况 现象 解决办法 在ffmpeg安装包目录下 &#xff0c;通过./configure --list-encoders 和 ./configure --list-decoders 命令可以看到&#xff0c;ffmpeg只支持mp3解码&#xff0c;但是不支持mp3编码。 上网查寻后发现&…

DRF JWT认证基础

JWT认证 【1】base64使用 &#xff08;1&#xff09;使用场景 电子邮件附件&#xff1a;由于电子邮件协议只支持 ASCII 字符集&#xff0c;因此&#xff0c;如果要发送非 ASCII 数据&#xff08;如图片、音频、视频等&#xff09;&#xff0c;需要先将这些数据进行 base64 编…

ubuntu下chronyc tracking报文详解

在ubuntu下使用chronyc进行时钟的同步操作&#xff0c;下面是执行chrony tracking返回结果&#xff1a; Reference ID : AC1005E7 (ntpxx) Stratum : 12 Ref time (UTC) : Tue Apr 23 07:24:09 2024 System time : 0.000001974 seconds slow of NTP time Last …

Android Binder——数据传输限制(二十三)

在前面的学习中,我们了解到在创建用户和内核的虚拟空间的时候,会开辟 1M-8K 的内存空间,用于当前进程与 Binder 驱动进行传递数据,但是在实际传输过程中,其实并不能达到1M-8k的数据。这里我们就来分析一下 Binder 通信数据传输的限制。 一、Linux系统启动 Linux 系统在启…

酷开科技逐步为用户构建健全的智慧家庭生活场景

大规模与精细化人群技术则是通过大量的计算能力和精细化的运营能力&#xff0c;建立用户专属数据储存区域&#xff0c;使得用户在使用不同电视的观影偏好和兴趣能够能够得以延续。 不拘泥于自有品牌终端数量&#xff0c;酷开系统除了集成在创维电视上&#xff0c;还服务于飞利…

✯✯✯宁波ISO45001认证:保障员工健康与安全✯✯✯

&#x1f308;&#x1f308;&#x1f308;最近&#xff0c;我们公司&#x1f970;通过了ISO 45001认证&#xff0c;&#x1f920;这让我感到非常&#x1f60e;兴奋和自豪&#xff01;&#x1f939;作为一个在&#x1f3d9;️宁波工作的员工&#xff0c;&#x1f913;我深深地感…

安全中级-初开始

一、网络基础 重要点&#xff1a;TTL值&#xff08;防环&#xff0c;linux64.Windows128 &#xff09;&#xff0c;IP数据包包头格式字节&#xff08;20&#xff09; 标识标志偏移量起到什么作用&#xff08;数据超过1500会分片&#xff09; wireshack抓包会有一个MSS&#x…

[图解敏捷口号]普天之下皆我妈-01-新手一次走两步

0 00:00:00,830 --> 00:00:03,750 今天我们来看一句敏捷口号 1 00:00:04,030 --> 00:00:05,660 后面我们会 2 00:00:06,300 --> 00:00:09,570 列一些比较幼稚的口号 3 00:00:09,970 --> 00:00:11,145 一句一句 4 00:00:11,145 --> 00:00:12,790 我们来剖析一…