📌  相关文章
📜  可被给定数k整除的数组的最小和最大元素

📅  最后修改于: 2021-04-28 17:44:28             🧑  作者: Mango

给定一个数组,任务是找到可以被给定数k整除的数组中的最小和最大元素。
例子:

Input: arr[] = {12, 1235, 45, 67, 1}, k=5
Output: Minimum = 45, Maximum = 1235

Input: arr[] = {10, 1230, 45, 67, 1}, k=10
Output: Minimum = 10, Maximum = 1230

方法:

  1. 取一个存储最小元素的min变量,并用INT_MAX对其进行初始化,并将其与数组的每个元素进行比较,并更新下一个可被k整除的最小元素。
  2. 取一个存储最大元素的max变量,并使用INT_MIN对其进行初始化,并将其与数组中的每个元素进行比较,并更新下一个可被k整除的最大元素。

下面是上述方法的实现:

C++
// C++ implementation of the above approach
#include 
using namespace std;
 
// Function to find the minimum element
int getMin(int arr[], int n, int k)
{
    int res = INT_MAX;
    for (int i = 0; i < n; i++) {
        if (arr[i] % k == 0)
            res = min(res, arr[i]);
    }
    return res;
}
 
// Function to find the maximum element
int getMax(int arr[], int n, int k)
{
    int res = INT_MIN;
    for (int i = 1; i < n; i++) {
        if (arr[i] % k == 0)
            res = max(res, arr[i]);
    }
    return res;
}
 
// Driver code
int main()
{
    int arr[] = { 10, 1230, 45, 67, 1 };
    int k = 10;
    int n = sizeof(arr) / sizeof(arr[0]);
    cout << "Minimum element of array which is divisible by k: "
         << getMin(arr, n, k) << "\n";
    cout << "Maximum element of array which is divisible by k: "
         << getMax(arr, n, k);
 
    return 0;
}


Java
//Java implementation of the above approach
 
class GFG {
 
// Function to find the minimum element
    static int getMin(int arr[], int n, int k) {
        int res = Integer.MAX_VALUE;
        for (int i = 0; i < n; i++) {
            if (arr[i] % k == 0) {
                res = Math.min(res, arr[i]);
            }
        }
        return res;
    }
 
// Function to find the maximum element
    static int getMax(int arr[], int n, int k) {
        int res = Integer.MIN_VALUE;
        for (int i = 1; i < n; i++) {
            if (arr[i] % k == 0) {
                res = Math.max(res, arr[i]);
            }
        }
        return res;
    }
 
// Driver code
    public static void main(String[] args) {
        int arr[] = {10, 1230, 45, 67, 1};
        int k = 10;
        int n = arr.length;
        System.out.println("Minimum element of array which is divisible by k: "
                + getMin(arr, n, k));
        System.out.println("Maximum element of array which is divisible by k: "
                + getMax(arr, n, k));
    }
}
//This code contribute by Shikha Singh


Python 3
# Python 3 implementation of the
# above approach
import sys
 
# Function to find the minimum element
def getMin(arr, n, k):
 
    res = sys.maxsize
    for i in range(n):
        if (arr[i] % k == 0):
            res = min(res, arr[i])
    return res
 
# Function to find the maximum element
def getMax(arr, n, k):
 
    res = 0
    for i in range(1, n):
        if (arr[i] % k == 0):
            res = max(res, arr[i])
    return res
 
# Driver code
if __name__ == "__main__":
     
    arr = [ 10, 1230, 45, 67, 1 ]
    k = 10
    n = len(arr)
    print("Minimum element of array which",
          "is divisible by k: ", getMin(arr, n, k))
    print( "Maximum element of array which",
           "is divisible by k: ", getMax(arr, n, k))
 
# This code is contributed
# by ChitraNayal


C#
// C# implementation of the above approach
using System;
 
class GFG
{
// Function to find the minimum element
static int getMin(int []arr, int n, int k)
{
    int res = int.MaxValue;
    for (int i = 0; i < n; i++)
    {
        if (arr[i] % k == 0)
        {
            res = Math.Min(res, arr[i]);
        }
    }
    return res;
}
 
// Function to find the maximum element
static int getMax(int []arr, int n, int k)
{
    int res = int.MinValue;
    for (int i = 1; i < n; i++)
    {
        if (arr[i] % k == 0)
        {
            res = Math.Max(res, arr[i]);
        }
    }
    return res;
}
 
// Driver code
static public void Main ()
{
    int []arr = {10, 1230, 45, 67, 1};
    int k = 10;
    int n = arr.Length;
    Console.WriteLine("Minimum element of array " +
                      "which is divisible by k: " +
                                getMin(arr, n, k));
    Console.WriteLine("Maximum element of array " +
                      "which is divisible by k: " +
                                getMax(arr, n, k));
}
}
 
// This code is contributes by ajit


PHP


Javascript


输出:
Minimum element of array which is divisible by k: 10
Maximum element of array which is divisible by k: 1230