l'obtention de lignes et de colonnes nombre de un tableau 2D sans itération sur elle
J'ai une fonction qui prend en tableau 2D. Je me demande si il est de toute façon à obtenir des lignes et des colonnes du tableau 2D sans avoir à effectuer une itération sur elle. Signature de la méthode est de ne pas être des changements.
Fonction est à l'intérieur de la ninetyDegRotator
classe.
public static int [][] rotate(int [][] matrix){
int [][] rotatedMatrix = new int[4][4];//need actual row n col count here
return rotatedMatrix; //logic
}
Et code principal est
public static void main(String args[]){
int [][] matrix = new int[][]{
{1,2,3,4},
{5,6,7,8},
{9,0,1,2},
{3,4,5,6}
};
System.out.println("length is " + matrix.length);
int [][] rotatedMatrix = ninetyDegRotator.rotate(matrix);
}
Aussi matrix.length
me donne 4
. Donc je suppose que c'est le nombre de lignes qu'il donne un sens certain nombre de références en 1D tableau qui contiennent eux-mêmes des tableaux. Donc, il y a un moyen d'obtenir le nombre sans itération?
OriginalL'auteur Aniket Thakur | 2014-01-26
Vous devez vous connecter pour publier un commentaire.
Si il est garanti que chaque ligne a la même longueur, il suffit d'utiliser:
(En mathématiques, c'est bien sûr garanti, mais c'est tout à fait possible dans la plupart des langues d'avoir un tableau de tableaux, où l'intérieur des tableaux sont pas tous de la même longueur).
l'OP semble être une utilisation abusive de l'expression "tourner" pour se référer à la manipulation de la matrice elle-même plutôt que de former une matrice de rotation.
Ouais, ça reste la même. Le programme est en fait de la rotation de la matrice par 90deg. Je suppose que je peux utiliser
int [][] rotatedMatrix = new int[matrix.length][matrix[0].length];
Tx!OriginalL'auteur Alnitak
Principalement dans la gamme pour toutes les lignes ont la même longueur. Si les solutions ci-dessus va travailler presque à chaque fois.
OriginalL'auteur Nikhil Kumar