Hola Juan, la idea está bastante bien.
Sin embargo, veo algún detalle en el algoritmo.
Se llama correctamente de forma recursiva para el conjunto A. Esa llamada recursiva de la línea 19 retorna una tarjeta si hay más de la mitad de tarjetas que pertenecen a la misma clase en ese subconjunto A. Y podría devolver la cantidad para que no sea necesario hacer la llamada a contar de la línea 20. Y el if de la línea 21 es simplimente verificar que t_j no sea null. Este es un detalle de implemtanción digamos.
Ahora, en la llamada de la línea 26 tenés que hacer lo mismo que a la salida de la llamada de la recursión para el conjunto A. Tenés que contar para saber si llegas a la mitad + 1 del total. Lo que está en las líneas 21-24 tenés que adicionarlo luego de la llamada recursiva del paso 26.
Sin embargo, veo algún detalle en el algoritmo.
Se llama correctamente de forma recursiva para el conjunto A. Esa llamada recursiva de la línea 19 retorna una tarjeta si hay más de la mitad de tarjetas que pertenecen a la misma clase en ese subconjunto A. Y podría devolver la cantidad para que no sea necesario hacer la llamada a contar de la línea 20. Y el if de la línea 21 es simplimente verificar que t_j no sea null. Este es un detalle de implemtanción digamos.
Ahora, en la llamada de la línea 26 tenés que hacer lo mismo que a la salida de la llamada de la recursión para el conjunto A. Tenés que contar para saber si llegas a la mitad + 1 del total. Lo que está en las líneas 21-24 tenés que adicionarlo luego de la llamada recursiva del paso 26.