zoukankan      html  css  js  c++  java
  • 如果在num1的任何位置有一个数字的连续三倍,并且在num2中有一个数字的连续两倍,则返回1。 如果不是这样,则返回0

    '''
    它接受数字num1和num2,如果在num1的任何位置有一个数字的连续三倍,并且在num2中有一个数字的连续两倍,则返回1。
    如果不是这样,则返回0
    例子
    triple_double(451999277, 41177722899) == 1
    num1有三个直的999,num2有两个直的999
    triple_double(1222345, 12345) == 0
    num1有直接的三重2s,但是num2只有一个2
    triple_double(12345, 12345) == 0
    triple_double(666789, 12345667) == 1
    '''
    
    
    #解法1
    import itertools
    def triple_double(num1, num2):
        #code me ^^
        num1_3=[k for k,v in itertools.groupby(str(num1)) if len(list(v))==3]
        num2_2=[k for k,v in itertools.groupby(str(num2)) if len(list(v))==2]
        if num1_3!=[]:
            for i in num1_3:
                if i in num2_2 :
                    return 1
                else:
                    return 0
        else:
            return 0
    
    print(triple_double(10560002, 100))
    '''
    它接受数字num1和num2,如果在num1的任何位置有一个数字的连续三倍,并且在num2中有一个数字的连续两倍,则返回1。
    如果不是这样,则返回0
    例子
    triple_double(451999277, 41177722899) == 1
    num1有三个直的999,num2有两个直的999
    triple_double(1222345, 12345) == 0
    num1有直接的三重2s,但是num2只有一个2
    triple_double(12345, 12345) == 0
    triple_double(666789, 12345667) == 1
    '''


    #解法1
    import itertools
    def triple_double(num1, num2):
    #code me ^^
    num1_3=[k for k,v in itertools.groupby(str(num1)) if len(list(v))==3]
    num2_2=[k for k,v in itertools.groupby(str(num2)) if len(list(v))==2]
    if num1_3!=[]:
    for i in num1_3:
    if i in num2_2 :
    return 1
    else:
    return 0
    else:
    return 0

    print(triple_double(10560002, 100))


  • 相关阅读:
    javaScript 中的异步编程
    javaScript内存泄漏
    javaScript| 对象的拷贝
    javaScript 数组的拷贝
    javaScript 去除数组中的重复值
    解决js key中的时间间隔
    js未命题(杂记)
    js中斐波拉切数的三种写法;
    js闭包的七中形式
    Javascript学习日志(三):闭包
  • 原文地址:https://www.cnblogs.com/pipile/p/12605006.html
Copyright © 2011-2022 走看看