Problema de doble puntero y problema de ventana deslizante

No lo he escrito durante varios días, pero he estado trabajando en ello durante un tiempo, y no lo he logrado en un día. He escrito muchos problemas de doble puntero en estos días, y el problema de la programación dinámica se está volviendo cada vez más competente. Encuentre el estado del "segundo" anterior y encuentre la ecuación de transición de estado. Cuando se trataba del problema del doble puntero, realmente descubrí cómo resolver el problema en 2 minutos, pero cuando se realizaba una pregunta, la respuesta siempre era incorrecta, y no sabía por qué. Más tarde descubrí que apenas entendía los cambios en el puntero. Sin embargo, no cayó en el código, y hubo un problema de puntero de puntero poco claro en la implementación del código. A continuación enumeramos las preguntas: (Esta pregunta no es la original)

Esta pregunta se hizo mientras jugaba, y mis ojos no eran fáciles de usar. Comencé a escribir para mantener el orden relativo de los elementos 0. Jajajaja, el tiempo de verificación ha sido incorrecto, estaba cegado por mí mismo, y más tarde descubrí que mi pregunta estaba equivocada. Ahora, el problema del doble puntero, debe pensar claramente sobre cómo mover el puntero 1 y el puntero 2 en un caso, y cómo mover el puntero 2 y el puntero 1 en el segundo caso. Esto es importante!

A continuación enumeramos el código:

    public void moveZeroes(int[] nums) {
        if(nums.length==0) return;
        if(nums.length==1) return;
        int i=0;
    
        while (i<nums.length&&nums[i]!=0) i++;
        int j=i;
        for(int k=i;k<nums.length;k++){
            if(nums[k]!=0){
                nums[j]=nums[k];
                nums[k]=0;
                j++;
                while(nums[j]!=0){
                    j++;
                }
            }
        }
        return;
    }

En este momento, tengo el problema de que cuando se escribe nums [i] en el frente, mientras que el puntero se desborda, && no debe prestar atención a la parte posterior si no se establece el frente, || es no mirar hacia atrás si el frente está establecido Sí, debe tenerse en cuenta que esto afectará el cambio de variables.

17 artículos originales publicados · me gustaron 0 · visitas 143

Supongo que te gusta

Origin blog.csdn.net/qq_33286699/article/details/105487037
Recomendado
Clasificación