Min and Max

  • + 0 comments

    My compact, one-liner solution…

    print(np.loadtxt(sys.stdin, int).min(axis=1).max())
    

    After I submitted this solution, it passed all the tests, and I began posting about it here, I realized something. I didn't skip the first line of input containing N and M as I usually do.

    But my one-liner passed all the tests anyway! I'm just lucky that making those two values part of the array didn't make any difference in the results.

    The solution I should've written was…

    _ = input()  # We don't need N or M.  Skip them!
    print(np.loadtxt(sys.stdin, int).min(axis=1).max())
    

    Inspired by another user's comments about using N and M, although they're not necessary, I wrote a solution that uses them…

    print(((NM := list(map(int, input().split()))),
        np.loadtxt(sys.stdin, int)[:NM[0], :NM[1]].min(axis= 1).max())[1])