Учитывая матрицу, задача состоит в том, чтобы найти минимальный элемент каждой строки и каждого столбца.
Примеры:
Input: [1, 2, 3]
[1, 4, 9]
[76, 34, 21]
Output: Minimum element of each row is {1, 1, 21}
Minimum element of each column is {1, 2, 3}
Input: [1, 2, 3, 21]
[12, 1, 65, 9]
[11, 56, 34, 2]
Output: Minimum element of each row is {1, 1, 21}
Minimum element of each column is {1, 2, 3}
Подход : идея состоит в том, чтобы запустить цикл для no_of_rows. Проверьте каждый элемент в строке и найдите минимальный элемент. Наконец, напечатайте элемент. Аналогично, проверьте каждый элемент внутри столбца и найдите минимальный элемент. Наконец, напечатайте элемент.
Ниже приведена реализация вышеуказанного подхода:
C ++
#include<bits/stdc++.h>
using namespace std;
const int MAX = 100;
void smallestInRow( int mat[][MAX], int n, int m)
{
cout << " { " ;
for ( int i = 0; i < n; i++) {
int minm = mat[i][0];
for ( int j = 1; j < m; j++) {
if (mat[i][j] < minm)
minm = mat[i][j];
}
cout << minm << ", " ;
}
cout << "}" ;
}
void smallestInCol( int mat[][MAX], int n, int m)
{
cout << " { " ;
for ( int i = 0; i < m; i++) {
int minm = mat[0][i];
for ( int j = 1; j < n; j++) {
if (mat[j][i] < minm)
minm = mat[j][i];
}
cout << minm << ", " ;
}
cout << "}" ;
}
int main()
{
int n = 3, m = 3;
int mat[][MAX] = { { 2, 1, 7 },
{ 3, 7, 2 },
{ 5, 4, 9 } };
cout << "Minimum element of each row is " ;
smallestInRow(mat, n, m);
cout << "\nMinimum element of each column is " ;
smallestInCol(mat, n, m);
return 0;
}
|
Джава
public class GFG {
final static int MAX = 100 ;
static void smallestInRow( int mat[][], int n, int m) {
System.out.print( " { " );
for ( int i = 0 ; i < n; i++) {
int minm = mat[i][ 0 ];
for ( int j = 1 ; j < m; j++) {
if (mat[i][j] < minm) {
minm = mat[i][j];
}
}
System.out.print(minm + ", " );
}
System.out.println( "}" );
}
static void smallestInCol( int mat[][], int n, int m) {
System.out.print( " { " );
for ( int i = 0 ; i < m; i++) {
int minm = mat[ 0 ][i];
for ( int j = 1 ; j < n; j++) {
if (mat[j][i] < minm) {
minm = mat[j][i];
}
}
System.out.print(minm + ", " );
}
System.out.print( "}" );
}
public static void main(String args[]) {
int n = 3 , m = 3 ;
int mat[][] = {{ 2 , 1 , 7 },
{ 3 , 7 , 2 },
{ 5 , 4 , 9 }};
System.out.print( "Minimum element of each row is " );
smallestInRow(mat, n, m);
System.out.print( "\nMinimum element of each column is " );
smallestInCol(mat, n, m);
}
}
|
python3
MAX = 100
def smallestInRow(mat, n, m):
print ( "{" , end = "")
for i in range (n):
minm = mat[i][ 0 ]
for j in range ( 1 , m, 1 ):
if (mat[i][j] < minm):
minm = mat[i][j]
print (minm, end = "," )
print ( "}" )
def smallestInCol(mat, n, m):
print ( "{" , end = "")
for i in range (m):
minm = mat[ 0 ][i]
for j in range ( 1 , n, 1 ):
if (mat[j][i] < minm):
minm = mat[j][i]
print (minm, end = "," )
print ( "}" )
if __name__ = = '__main__' :
n = 3
m = 3
mat = [[ 2 , 1 , 7 ],
[ 3 , 7 , 2 ],
[ 5 , 4 , 9 ]];
print ( "Minimum element of each row is" ,
end = " " )
smallestInRow(mat, n, m)
print ( "Minimum element of each column is" ,
end = " " )
smallestInCol(mat, n, m)
|
C #
using System;
class GFG
{
readonly static int MAX = 100;
static void smallestInRow( int [,]mat,
int n, int m)
{
Console.Write( " { " );
for ( int i = 0; i < n; i++)
{
int minm = mat[i, 0];
for ( int j = 1; j < m; j++)
{
if (mat[i, j] < minm)
{
minm = mat[i, j];
}
}
Console.Write(minm + ", " );
}
Console.WriteLine( "}" );
}
static void smallestInCol( int [,]mat,
int n, int m)
{
Console.Write( " { " );
for ( int i = 0; i < m; i++)
{
int minm = mat[0, i];
for ( int j = 1; j < n; j++)
{
if (mat[j, i] < minm)
{
minm = mat[j, i];
}
}
Console.Write(minm + ", " );
}
Console.Write( "}" );
}
public static void Main()
{
int n = 3, m = 3;
int [,]mat = {{2, 1, 7},
{3, 7, 2},
{5, 4, 9}};
Console.Write( "Minimum element of " +
"each row is " );
smallestInRow(mat, n, m);
Console.Write( "\nMinimum element of " +
"each column is " );
smallestInCol(mat, n, m);
} }
|
PHP
<?php
$MAX = 100;
function smallestInRow(& $mat , $n , $m )
{
echo " { " ;
for ( $i = 0; $i < $n ; $i ++)
{
$minm = $mat [ $i ][0];
for ( $j = 1; $j < $m ; $j ++)
{
if ( $mat [ $i ][ $j ] < $minm )
$minm = $mat [ $i ][ $j ];
}
echo $minm . ", " ;
}
echo "}" ;
}
function smallestInCol(& $mat , $n , $m )
{
echo " { " ;
for ( $i = 0; $i < $m ; $i ++)
{
$minm = $mat [0][ $i ];
for ( $j = 1; $j < $n ; $j ++)
{
if ( $mat [ $j ][ $i ] < $minm )
$minm = $mat [ $j ][ $i ];
}
echo $minm . ", " ;
}
echo "}" ;
}
$n = 3;
$m = 3;
$mat = array ( array ( 2, 1, 7 ),
array ( 3, 7, 2 ),
array ( 5, 4, 9 ));
echo "Minimum element of each row is " ;
smallestInRow( $mat , $n , $m );
echo "\nMinimum element of each column is " ;
smallestInCol( $mat , $n , $m );
?>
|
Выход:
Minimum element of each row is { 1, 2, 4, }
Minimum element of each column is { 2, 1, 2, }
Временная сложность: O (n * m)
Рекомендуемые посты:
Минимальный элемент каждой строки и каждого столбца в матрице
0.00 (0%) 0 votes