กำหนด 2D array ที่มีแค่ 0 และ 1 แถวถูกเรียงลำดับ หาแถวที่มี 1 มากที่สุดโดยใช้ map(sum, ...)
ตัวอย่าง
Input: [[0,1,1,1,1], [0,0,1,1,1], [1,1,1,1,1], [0,0,0,0,1]] Output: Row 2 (index 2)
อัลกอริทึม
- หาผลรวมแต่ละแถวด้วย
map(sum, matrix) - ได้ list ของจำนวน 1 ต่อแถว
- หาดัชนีของค่าสูงสุด
โค้ดตัวอย่าง
def maximumofones(matrix):
max1 = list(map(sum, matrix))
print("MAXIMUM NUMBER OF 1's:", max1.index(max(max1)))
if __name__ == "__main__":
n = [[0,1,1,1,1], [0,0,1,1,1], [1,1,1,1,1], [0,0,0,0,1]]
maximumofones(n)
ผลลัพธ์
MAXIMUM NUMBER OF 1's: 2