There are several ways this can be addressed. If the feature class is already loaded into a map, and thus has a corresponding layer, I think the easiest approach is to iterate over the feature class finding the OIDs that correspond to the max and min values you want, then you can select those OIDs and export the selection to a new feature class.
from collections import defaultdict
lyr_name = "minmax_example"
max_values = defaultdict(lambda: (None,-math.inf))
min_values = defaultdict(lambda: (None,math.inf))
with arcpy.da.SearchCursor(lyr_name, ["OID@", "LINK_ID", "HOUSE_NUMBER"]) as cur:
for oid, lid, hn in cur:
max_values[lid] = max(max_values[lid],(oid,hn), key=lambda x: x[1])
min_values[lid] = min(min_values[lid],(oid,hn), key=lambda x: x[1])
max_oids = [oid for oid,_ in max_values.values()]
min_oids = [oid for oid,_ in min_values.values()]
lyr = arcpy.mp.ArcGISProject("CURRENT").activeMap.listLayers(lyr_name)[0]
lyr.setSelectionSet(max_oids + min_oids)