Maison > Java > javaDidacticiel > Comment résoudre le problème des tableaux Java, des tableaux bidimensionnels et du remplacement des espaces

Comment résoudre le problème des tableaux Java, des tableaux bidimensionnels et du remplacement des espaces

王林
Libérer: 2023-04-30 12:37:14
avant
855 Les gens l'ont consulté

Nombres en double dans le tableau

Description du problème

Comment résoudre le problème des tableaux Java, des tableaux bidimensionnels et du remplacement des espaces

Explication détaillée de l'idée

L'idée de​​cette question est relativement simple. Tout d'abord, triez le tableau, parcourez le tableau et trouvez la sortie directe. c'est le même que celui actuel. Sortie -1 introuvable.

Remarque : dans cette méthode, veuillez noter que l'indice doit commencer à partir de 1 lors de la boucle, sinon une exception d'indice de tableau sera signalée.

Code et résultats

import java.util.*;
public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param numbers int整型一维数组 
     * @return int整型
     */
    public int duplicate (int[] numbers) {
        // write code here
        Arrays.sort(numbers);
        for(int i = 1 ; i < numbers.length; i++)
            if(numbers[i] == numbers[i - 1]) return numbers[i];
        return -1;
    }
}
Copier après la connexion

Recherche dans un tableau bidimensionnel

Description du problème

Comment résoudre le problème des tableaux Java, des tableaux bidimensionnels et du remplacement des espaces

Idées détaillées

Cette question est un peu difficile. Après avoir lu attentivement la question, j'ai trouvé une condition importante : les lignes et les colonnes de ce tableau à deux chiffres augmentent, ce qui signifie que l'élément supérieur gauche est le plus petit et l'élément inférieur droit est le plus grand. élément au-dessus et plus petit que l'élément à droite. L'élément supérieur droit Au contraire.

Selon cette règle, nous pouvons commencer par le bas à gauche et rechercher vers le haut ou vers la droite selon la situation. En même temps, nous devons d'abord juger de la situation particulière. Détails spécifiques sur le code.

Code et résultats

public class Solution {
    public boolean Find(int target, int [][] array) {
        //优先判断特殊
        if(array.length == 0) 
            return false;
        int n = array.length;
        if(array[0].length == 0) 
            return false;
        int m = array[0].length;
        //从最左下角的元素开始往左或往上
        for(int i = n - 1, j = 0; i >= 0 && j < m; ){
            //元素较大,往上走
            if(array[i][j] > target)  
                i--;
            //元素较小,往右走
            else if(array[i][j] < target)
                j++;
            else
                return true;
        }
        return false;
    }
}
Copier après la connexion

Remplacer les espaces

Description du problème

Comment résoudre le problème des tableaux Java, des tableaux bidimensionnels et du remplacement des espaces

Explication détaillée de l'idée

L'idée de remplacer les espaces dans cette question est relativement simple.

Nous parcourons la chaîne et la stockons dans un tableau de caractères temporaire. Lors du parcours, nous déterminons directement si elle est vide si elle est directement ajoutée avec les trois caractères "%20", puis nous la publions finalement.

Remarque : la taille du tableau temporaire est définie sur 3 fois la longueur de la chaîne, ce qui est parfait en supposant que la chaîne soit composée uniquement d'espaces, elle peut également être satisfaite. Dans le même temps, vous devez également faire attention à l’utilisation de méthodes liées aux chaînes.

Code et résultats

import java.util.*;
public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return string字符串
     */
   public String replaceSpace(String s) {
    int length = s.length();
    char[] array = new char[length * 3];
    int index = 0;
    for (int i = 0; i < length; i++) {
        char c = s.charAt(i);
        if (c == &#39; &#39;) {
            array[index++] = &#39;%&#39;;
            array[index++] = &#39;2&#39;;
            array[index++] = &#39;0&#39;;
        } else {
            array[index++] = c;
        }
    }
    String newStr = new String(array, 0, index);
    return newStr;
}
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal