一起挑战pythontip的题目(28)

简介: 一起挑战pythontip的题目(28)

第 136 题:单身狗


题目描述:自然界存在两种狗:恩爱狗和单身狗。恩爱狗总是成对出现,单身狗总是单个活

动。假设每只狗都有一个编号,每对恩爱狗的编号相同。恩爱狗协会组织了一次恩爱狗 Party,

会场混进了一只单身狗,请你帮助他们找出这只单身狗。给你一个长度为 n(1< n < 1000000)

的正整数列表 L,表示每只狗的编号, 请你输出单身狗的编号。


例如:L=[1,1,4,4,3,5,5]

则输出:3


1. >>> L=[1,1,4,4,3,5,5]
2. >>> print([L[i] for i in [L.index(j) for j in L if L.count(j)==1]][0])
3. 3
4. >>>




============================================================

第 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]
>>> 






目录
相关文章
|
Python
一起挑战pythontip的题目(1)
一起挑战pythontip的题目(1)
102 0
|
机器学习/深度学习
一起挑战pythontip的题目(30)
一起挑战pythontip的题目(30)
59 0
一起挑战pythontip的题目(8)
一起挑战pythontip的题目(8)
65 0
|
Python
一起挑战pythontip的题目(10)
一起挑战pythontip的题目(10)
126 0
|
Python
一起挑战pythontip的题目(12)
一起挑战pythontip的题目(12)
65 0
|
存储
一起挑战pythontip的题目(33)
一起挑战pythontip的题目(33)
130 0
一起挑战pythontip的题目(6)
一起挑战pythontip的题目(6)
60 0
|
机器学习/深度学习 Python
一起挑战pythontip的题目(9)
一起挑战pythontip的题目(9)
102 0
|
机器学习/深度学习 Python
一起挑战pythontip的题目(24)
一起挑战pythontip的题目(24)
90 0
一起挑战pythontip的题目(35)
一起挑战pythontip的题目(35)
76 0