一起挑战pythontip的题目(28)
第 136 题:单身狗
题目描述:自然界存在两种狗:恩爱狗和单身狗。恩爱狗总是成对出现,单身狗总是单个活
动。假设每只狗都有一个编号,每对恩爱狗的编号相同。恩爱狗协会组织了一次恩爱狗 Party,
会场混进了一只单身狗,请你帮助他们找出这只单身狗。给你一个长度为 n(1< n < 1000000)
的正整数列表 L,表示每只狗的编号, 请你输出单身狗的编号。
例如:L=[1,1,4,4,3,5,5]
则输出:3
>>> L=[1,1,4,4,3,5,5]
>>> print([L[i] for i in [L.index(j) for j in L if L.count(j)==1]][0])
3
>>>
============================================================
第 137 题:单身狗 II
题目描述:故事背景和“单身狗”相同,只不过这次 Party 中混进了两只单身狗,请你输出
这两只单身狗的编号,小编号在前,大编号在后,以一个空格隔开。
例如:L=[1,1,4,4,3,5,5,7]
则输出:3 7
示例:
输入:L = [1, 1, 4, 4, 3, 5, 5, 7]
输出:3 7
>>> L=[1,1,4,4,3,5,5,7]
>>> print(' '.join([str(L[i]) for i in [L.index(j) for j in L if L.count(j)==1]]))
3 7
>>>
============================================================
第 138 题:路径总数
题目描述:给你一个网格地图,网格图中有一个特殊点(特殊点保证不是右上角的点)。初始
你站在地图的左下角,只能向右走和向上走,请你求出从网格左下角走到右上角,且不经过
特殊点的方案总数。
现在告诉你地图的行数和列数 m, n (0 < m <= 30, 0 < n <= 30), 以及特殊点的坐标(x, y), 请你
输出方案总数。
例如:
m = 5, n = 4, x = 2, y = 3
则输出:
23
Note: 样例输入对应的地图如下,其中#为特殊点
....
....
....
..#.
....示例:
输入:m = 3
n = 4
x = 2
y = 3
输出:4
============================================================
第 139 题:吃糖果
题目描述:小 Py 喜欢吃糖果,但是他有一个怪癖,就是不喜欢将一样的糖果放在一起吃,
喜欢先吃一种,下一次吃另一种。 现在小 Py 获得了一批糖果,请你帮他计算,是否存在一
种吃糖果的顺序,使得他能把所有的糖果吃完。
现在给你一个正整数列表 L(L 的长度不超过 100),每个元素表示每种糖果的数量,如果存在
某种顺序使得小 Py 能够吃完所有的糖果, 则输出 Yes, 否则输出 No.
例如:L = [4, 1, 1]
则输出: No
L = [2, 2]
则输出: Yes 示例:
输入:L = [5, 4, 3, 2, 1]
输出:Yes
============================================================
第 140 题:k 差等数
题目描述:k 差等数的定义:任意两位之间的差的绝对值都为 k 的正十进制数,且不能有前导
0。例如'1234', '4321'都是 1 差等数。
现在给你两个正整数 n 和 k(1 < n <= 30, 0 <= k <= 9),请你输出 n 位 k 差等数的个数。
例如:n=2, k=5
则输出:9
Note: 2 位的 5 差等数如下:16,27,38,49,50,61,72,83,94
>>> iscdnum=lambda n,k:all([i==k for i in [abs(int(j[0])-int(j[1])) for j in [str(n)[i:i+2] for i in range(len(str(n))-1)]]])
>>> n,k=2,5
>>> [i for i in range(10**(n-1),10**n) if iscdnum(i,k)]
[16, 27, 38, 49, 50, 61, 72, 83, 94]
>>> n,k=3,2
>>> [i for i in range(10**(n-1),10**n) if iscdnum(i,k)]
[131, 135, 202, 242, 246, 313, 353, 357, 420, 424, 464, 468, 531, 535, 575, 579,
642, 646, 686, 753, 757, 797, 864, 868, 975, 979]
>>> n,k=4,3
>>> [i for i in range(10**(n-1),10**n) if iscdnum(i,k)]
[1414, 1474, 2525, 2585, 3030, 3036, 3630, 3636, 3696, 4141, 4147, 4741, 4747,
5252, 5258, 5852, 5858, 6303, 6363, 6369, 6963, 6969, 7414, 7474, 8525, 8585,
9630, 9636, 9696]
>>>
============================================================
来源:
相关文章
- 日拱一卒,《机器学习实战》,机器学习不是万能的,会遇到哪些挑战?
- 架构师才能看懂的大型网站架构面临的挑战:业务架构的基本思路
- 前所未有!神舟十二号航天员将面临哪些挑战?
- Linux笔试:挑战技术极限(linux笔试)
- Linux 运维题目: 挑战极限的实战指南(linux运维题目)
- T状态下的Linux:挑战与洞见(t状态linux)
- 挑战Oracle OCP认证考试,迈向职业新高度(oracleocp考试)
- Linux程序设计:一路挑战到成功(linux程序设计怎么样)
- 详解:智能医学影像分析的前沿与挑战 | 雷锋网公开课
- Linux网络工程师培训:提升职业技能,迎接互联网时代的挑战!(linux网络工程师培训)
- MySQL处理负数的挑战(mysql负数)
- 化建立MSSQL灰色化: 隐藏发展挑战之间的平衡(为什么mssql灰色)
- MySQL语句考验,挑战你的SQL能力!(mysql语句考试)
- Linux新建终端:开启一片挑战的空白(linux 新建终端)
- 清空Oracle数据库:路上的挑战(oracle 清空库)
- 红色的挑战:Redis集群性能测试(redis 集群测试)
- Redis面试刁钻题目挑战你的智慧(redis面试题刁难大全)
- 学习Oracle挑战中文试题(oracle中文试题)
- Oracle 数据库技术在今天的走向妥善克服挑战,获得胜利(oracle mius)
- Oracle 挑战与数据库大战智慧之赛(oracle deul)