给定一个数组A [],数组的大小为N,另一个为键K。任务是找到键K在数组中出现的概率。
例子:
Input : N = 6
A[] = { 4, 7, 2, 0, 8, 7, 5 }
K = 3
Output :0
Since value of k = 3 is not present in array,
hence the probability of 0.
Input :N = 10
A[] = { 2, 3, 5, 1, 9, 8, 0, 7, 6, 5 }
K = 5
Output :0.2
可以使用以下公式找出的概率:
Probability = total number of K present /
size of array.
首先,计算K的数量,然后概率将是K的数量除以N,即count /N。
下面是上述方法的实现:
C++
// C++ code to find the probability of
// search key K present in array
#include
using namespace std;
// Function to find the probability
float kPresentProbability(int a[], int n, int k)
{
float count = 0;
for (int i = 0; i < n; i++)
if (a[i] == k)
count++;
// find probability
return count / n;
}
// Driver Code
int main()
{
int A[] = { 4, 7, 2, 0, 8, 7, 5 };
int K = 3;
int N = sizeof(A) / sizeof(A[0]);
cout << kPresentProbability(A, N, K);
return 0;
}
Python3
# Python3 code to find the
# probability of search key
# K present in 1D-array (list).
# Function to find the probability
def kPresentProbability(a, n, k) :
count = a.count(k)
# find probability upto
# 2 decimal places
return round(count / n , 2)
# Driver Code
if __name__ == "__main__" :
A = [ 4, 7, 2, 0, 8, 7, 5 ]
K = 2
N = len(A)
print(kPresentProbability( A, N, K))
# This code is contributed
# by AnkitRai1
Java
// Java code to find the probability
// of search key K present in array
class GFG
{
// Function to find the probability
static float kPresentProbability(int a[],
int n,
int k)
{
float count = 0;
for (int i = 0; i < n; i++)
if (a[i] == k)
count++;
// find probability
return count/ n;
}
// Driver Code
public static void main(String[] args)
{
int A[] = { 4, 7, 2, 0, 8, 7, 5 };
int K = 2;
int N = A.length;
double n = kPresentProbability(A, N, K);
double p = (double)Math.round(n * 100) / 100;
System.out.println(p);
}
}
// This code is contributed
// by ChitraNayal
C#
// C# code to find the probability
// of search key K present in array
using System;
class GFG
{
// Function to find the probability
static float kPresentProbability(int[] a,
int n,
int k)
{
float count = 0;
for (int i = 0; i < n; i++)
if (a[i] == k)
count++;
// find probability
return count/ n;
}
// Driver Code
public static void Main()
{
int[] A = { 4, 7, 2, 0, 8, 7, 5 };
int K = 2;
int N = A.Length;
double n = kPresentProbability(A, N, K);
double p = (double)Math.Round(n * 100) / 100;
Console.Write(p);
}
}
// This code is contributed
// by ChitraNayal
PHP
Javascript
输出
0
时间复杂度:O(N)