2020-04-22 面试总结

  1. “((5+(2x(3-(1+(2x4))))))” 通过用户输入字符串,求出最里面括号的值
    代码:
    def parench(data):
    	"""算括号"""
        if "(" in data:
            while 1:
                if ")" in data:
                    b = data.index(")")
                    for i in range(b, -1, -1):
                        if data[i] == "(":
                            new_list = []
                            new_list = data[i+1:b]
                            """通过四则函数求值"""
                            byte = compute(new_list)[0]
                            del(data[i:b+1])
                            data.insert(i,byte)
                            break
                else:
                    return compute(data)
        else:
            compute(data)
    
    while 1:
        data = input("请输入算数:")
        if data == "": continue
        data = change_list(data)
        parench(data)
        print(data[0])
        if input("如果输入q则退出:\n") == "q":
            exit()
    
  2. 一群人晚上过桥,每次只能过2个人,并且需要一盏灯。每个人过桥时间不同。甲乙丙丁独自过桥分别耗时1,3,5,7分钟,灯只有一盏,计算最短时间。
    1,3过去,1回来,耗时4分钟
    5,7过去,3回来,耗时10分钟
    1,3过去,耗时3分钟,功耗时17分钟
  3. n*m维数组,每一行,每一列都递增,请编写代码找出某元素
def ArraySearch(array,num):
	if len(array) and len(array[0]):
		row = 0
		col = len(array[0])
		while row != len(array) and col != -1:
			if array[row][col] > num:
				col -= 1
			elif array[row][col] < num:
				row += 1
			else:
				return (row,col)
		return False
	else:
		return False
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值