猿辅导二面编程题

1.扑克牌顺子
LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面的5张牌就可以变成“1,2,3,4,5”(大小王分别看作2和4),“So Lucky!”。LL决定去买体育彩票啦。 现在,要求你使用这幅牌模拟上面的过程,然后告诉我们LL的运气如何, 如果牌能组成顺子就输出true,否则就输出false。为了方便起见,你可以认为大小王是0。

2.给定一个字符串数组,实现两个函数:
函数 fun1: 将数组转化为一个字符串,字符串长度和内容不做限制
函数 fun2: 只能有一个字符串参数,不能利用额外的数据信息,将上面函数输出的字符串还原为数组,内容和第一个函数的输入一样
说明:字符串数组和和输出的字符串只能包含 ascii 中的字符
输入示例:
fun1:
["ab,03", "1xyz", "-ddd" ] ->  “xxxxxxx...”
fun2:
“xxxxxxx...”  -> ["ab,03", "1xyz", "-ddd" ]
arr = ['abc', 'xyz cdf', 'ei akdl']

def fun1(arr):
    res = ""
    for ele in arr:
        res += str(len(ele))+" "+ele+" "
    return res[:-1]


def fun2(s):
    i = 0
    step = 0
    res = []
    while i < len(s):
        if s[i].isdigit():
            step = step*10 + int(s[i])
            i += 1
        else:
            res.append(s[i+1:i + step + 1])
            i += step+2
            step = 0
    return res  
string = fun1(arr)
print(string) 
print(fun2(string)) 

当时怎么没想到呢。
😔炸了炸了#猿辅导##面试题目#
全部评论
楼主进终面了吗
点赞 回复
分享
发布于 2020-09-27 15:29

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务