elementos de la matriz de salida en sentido contrario a las agujas del reloj

Descripción del tema: matriz bidimensional de entrada [[1,2,3],[4,5,6], [7,8,9]], salida [1,2,3,5,9,8,7,4,5];
implementación del código:

	function helper (m, result) {
    
    
		if(m.length===0) {
    
    
			return;
		}
		// m,length>=1, 矩阵中至少有一行
		let arr1 = m.shift();//除数组的第一项
		let arr2 = m.pop();// 移除最后一个数组元素 arr2可能是undefined

		// 1. 正序输出最上层 
		for(let i = 0; i < arr1.length; i++){
    
    
			result.push(arr1[i]);
		}

		// 2.正序输出最右层
		if(m.length !== 0) {
    
    
			// 输出每一行最后一个元素
			for(let i=0; i < m.length; i++) {
    
    
				if(m.length !== 0) {
    
    
					result.push(m[i].pop());
				}
			}
		}

		// 3.逆序输出最下面层
		if(arr2) {
    
    
			for(let i = arr2.length-1; i >= 0; i--) {
    
    
				result.push(arr2[i]);
			}
		}

		// 4.逆序输出最左侧一层
		if(m.length>0) {
    
    
			//输出每一行元素的第一个元素
			for(let i = 0; i < m.length; i++) {
    
    
				result.push(m[i].shift())
			}
		}
  	helper(m, result);
	}

	function _pint(arr) {
    
    
		let res = [];
		if(arr.length===0) {
    
    
			return arr;
		}
		helper(arr, res);
		return res;
	}

Claramente, la idea es muy simple de lograr.

Echemos otro vistazo al tema de las matrices bidimensionales.

Descripción del tema: en una matriz bidimensional (cada matriz unidimensional tiene la misma longitud), cada fila se ordena en orden creciente de izquierda a derecha y cada columna se ordena en orden creciente de arriba a abajo. Complete una función, ingrese una matriz bidimensional y un número entero, y determine si la matriz contiene el número entero.
Código:

function Find(target, array) {
    
    
//从最右上角开始确定一个点开始比较
  let i = 0;
  let j = array[i].length - 1;//将最右边的列作为定点
  while (i < array.length && j >= 0) {
    
    
    if (array[i][j] < target) {
    
    
      i++;
    } else if (array[i][j] > target) {
    
    
      j--;
    } else {
    
    
      return true;
    }
  }
  return false;
}

Supongo que te gusta

Origin blog.csdn.net/weixin_44761091/article/details/123919514
Recomendado
Clasificación