【Cadena】 B034 recuento de ranas (recuento de caracteres)

1. Título Descripción

Te da una cuerda croakOfFrogs, que representa una combinación de sonidos de ranas (cuerdas "croak") de diferentes ranas. Como puede haber múltiples ranas croando al mismo tiempo, se mezclan múltiples "croaks" en croakOfFrogs. Devuelva el número mínimo de ranas diferentes requerido para todas las ranas en la cadena simulada.

Nota: Para hacer sonar el croar "croak", la rana debe mostrar las cinco letras 'c', 'r', 'o', 'a', 'k' en secuencia. Si no se emiten las cinco letras, no sonará.

Si la cadena croakOfFrogs no es una mezcla de caracteres válidos "croak", devuelva -1.

输入:croakOfFrogs = "crcoakroak"
输出:2 
解释:最少需要两只青蛙,“呱呱” 声用黑体标注
第一只青蛙 "crcoakroak"
第二只青蛙 "crcoakroak"

Método 1: cuenta

  • Porque en una cadena legal, el número de ocurrencias de cada carácter debe ser igual.
  • Si hay un orden de caracteres diferente y el número es mayor que los caracteres en el orden relativo anterior, entonces esta cadena es ilegal.
  • Cuando el número de caracteres es legal, el número de ranas requerido depende solo de la diferencia entre el número de caracteres c y k.
    • Por ejemplo: cuando una rana vuelve a llamar, mientras otra rana también llama, la cantidad de ranas necesarias en este momento será 2.
public int minNumberOfFrogs(String croakOfFrogs) {
    int[] c = new int[5];
    char[] s = croakOfFrogs.toCharArray();
    int max = 0;
    for (char ch : s) {
        if (ch == 'c') c[0]++;
        if (ch == 'r') c[1]++;
        if (ch == 'o') c[2]++;
        if (ch == 'a') c[3]++;
        if (ch == 'k') c[4]++;
        for (int i = c.length-1; i >= 1; i--) {
            if (c[i] > c[i-1])
                return -1;
        }
        max = Math.max(max, c[0]-c[4]);
    }
    return c[0] == c[4] ? max : -1;
}

Análisis de complejidad.

  • Complejidad del tiempo: El ( norte ) O (n)
  • Complejidad espacial: El ( 1 ) O (1)

fwc

Publicado 714 artículos originales · elogiado 199 · 50,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/qq_43539599/article/details/105617572
Recomendado
Clasificación