360企业安全笔试题
2017-05-31 本文已影响1014人
Yeso_93
上次去360面试,在面试过程中给了我2道编程题让我现场手写代码,当时只完成了一道,现在把当初写的贴出来供大家参考!如有不足,希望大家多多指教……
# -*- coding: utf-8 -*-
'''
现有一个M*N的表格,请统计表格中每行最小数值之和。要求最小数的都在不同列中,
既假设第一行第一列数是最小数,那即使第二行第一列的数在第二行中不去计算。
example:
存在如下表格:
1 2 3
2 4 5
则:
第一行最小数是1,第二行最小数是4,和为5。表格数据输入形式自定,使用python语言编写。
'''
import random
def table(list):
#记录所选列编号集合
columnNumSet = set()
#记录总值
TotalNum = 0
for row in list:
#记录当前列号
columnNum = 0
#记录下标集合
temp=random.choice([row[x] for x in range(len(row)) if x not in columnNumSet])
for num in range(0,len(row)):
if not num in columnNumSet:
if row[num] <= temp:
temp = row[num]
columnNum = num
TotalNum += row[columnNum]
columnNumSet.add(columnNum)
print TotalNum
TotalNum = table(((1,2,3),(2,4,5)))