上次去360面試,在面試過程中給了我2道編程題讓我現場手寫代碼,當時只完成了一道,現在把當初寫的貼出來供大家參考!如有不足,希望大家多多指教……
# -*- coding: utf-8 -*-
'''
現有一個M*N的表格,請統(tǒng)計表格中每行最小數值之和。要求最小數的都在不同列中,
既假設第一行第一列數是最小數,那即使第二行第一列的數在第二行中不去計算。
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)))