MIT.6.00.1X --Week 3 Lecture 5 problem 8 --Combine Bisecton search and Recursion

定义一个函数isIn(char, sTr), 来判断char(为单个字母)是否在字符串sTr中。
Note:
‘a’ < ‘b’, ‘a’ > ‘Z’
语法: ‘sep’.join(seq)
seq:要连接的元素序列、字符串、元组、字典
返回值:返回一个以分隔符sep连接各个元素后生成的字符串

def isIn(char, aStr):
    '''
    char: a single character
    aStr: an alphabetized string
    
    returns: True if char is in aStr; False otherwise
    '''
    # Your code here
    def tC(aStr):
        L = list(aStr)
        L.sort()
        res = ''.join(L)  
        return res   
        
    if char == tC(aStr)[len(tC(aStr))/2]:
        return True
    elif char != tC(aStr)[len(tC(aStr))/2] and len(tC(aStr)) == 1:
        return False
    elif char > tC(aStr)[len(tC(aStr))/2]:
        return isIn(char, tC(aStr)[len(tC(aStr))/2:])
    elif char < tC(aStr)[len(tC(aStr))/2]:
        return isIn(char, tC(aStr)[:len(tC(aStr))/2])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值