# 算法设计：查找数组中数字的出现频率

2021年3月17日14:22:09 发表评论 874 次浏览

## 本文概述

``````Input  : a[] = {0, 5, 5, 5, 4}
x = 5
Output : 3

Input  : a[] = {1, 2, 3}
x = 4
Output : 0``````

## C ++

``````// CPP program to count occurrences of an
// element in an unsorted array
#include<iostream>
using namespace std;

int frequency( int a[], int n, int x)
{
int count = 0;
for ( int i=0; i < n; i++)
if (a[i] == x)
count++;
return count;
}

// Driver program
int main() {
int a[] = {0, 5, 5, 5, 4};
int x = 5;
int n = sizeof (a)/ sizeof (a[0]);
cout << frequency(a, n, x);
return 0;
}``````

## Java

``````// Java program to count
// occurrences of an
// element in an unsorted
// array

import java.io.*;

class GFG {

static int frequency( int a[], int n, int x)
{
int count = 0 ;
for ( int i= 0 ; i < n; i++)
if (a[i] == x)
count++;
return count;
}

// Driver program
public static void main (String[]
args) {

int a[] = { 0 , 5 , 5 , 5 , 4 };
int x = 5 ;
int n = a.length;

System.out.println(frequency(a, n, x));
}
}

// This code is contributed
// by Ansu Kumari``````

## C#

``````// C# program to count
// occurrences of an
// element in an unsorted
// array
using System;

class GFG {

static int frequency( int []a, int n, int x)
{
int count = 0;
for ( int i=0; i < n; i++)
if (a[i] == x)
count++;
return count;
}

// Driver program
static public void Main (){

int []a = {0, 5, 5, 5, 4};
int x = 5;
int n = a.Length;

Console.Write(frequency(a, n, x));
}
}

// This code is contributed
// by Anuj_67``````

## Python3

``````# Python program to count
# occurrences of an
# element in an unsorted
# array
def frequency(a, x):
count = 0

for i in a:
if i = = x: count + = 1
return count

# Driver program
a = [ 0 , 5 , 5 , 5 , 4 ]
x = 5
print (frequency(a, x))

# This code is contributed by Ansu Kumari``````

## 的PHP

``````<?php
// PHP program to count occurrences of an
// element in an unsorted array

function frequency( \$a , \$n , \$x )
{
\$count = 0;
for ( \$i = 0; \$i < \$n ; \$i ++)
if ( \$a [ \$i ] == \$x )
\$count ++;
return \$count ;
}

// Driver Code
\$a = array (0, 5, 5, 5, 4);
\$x = 5;
\$n = sizeof( \$a );
echo frequency( \$a , \$n , \$x );

// This code is contributed by ajit
?>``````

``3``

## CPP

``````// CPP program to answer queries for frequencies
// in O(1) time.
#include <bits/stdc++.h>
using namespace std;

unordered_map< int , int > hm;

void countFreq( int a[], int n)
{
// Insert elements and their
// frequencies in hash map.
for ( int i=0; i<n; i++)
hm[a[i]]++;
}

// Return frequency of x (Assumes that
// countFreq() is called before)
int query( int x)
{
return hm[x];
}

// Driver program
int main()
{
int a[] = {1, 3, 2, 4, 2, 1};
int n = sizeof (a)/ sizeof (a[0]);
countFreq(a, n);
cout << query(2) << endl;
cout << query(3) << endl;
cout << query(5) << endl;
return 0;
}``````

## Java

``````// Java program to answer
// queries for frequencies
// in O(1) time.

import java.io.*;
import java.util.*;

class GFG {

static HashMap <Integer, Integer> hm = new HashMap<Integer, Integer>();

static void countFreq( int a[], int n)
{
// Insert elements and their
// frequencies in hash map.
for ( int i= 0 ; i<n; i++)
if (hm.containsKey(a[i]) )
hm.put(a[i], hm.get(a[i]) + 1 );
else hm.put(a[i] , 1 );
}

// Return frequency of x (Assumes that
// countFreq() is called before)
static int query( int x)
{
if (hm.containsKey(x))
return hm.get(x);
return 0 ;
}

// Driver program
public static void main (String[] args) {
int a[] = { 1 , 3 , 2 , 4 , 2 , 1 };
int n = a.length;
countFreq(a, n);
System.out.println(query( 2 ));
System.out.println(query( 3 ));
System.out.println(query( 5 ));
}
}

// This code is contributed by Ansu Kumari``````

## Python3

``````# Python program to
# frequencies
# in O(1) time.

hm = {}

def countFreq(a):
global hm

# Insert elements and their
# frequencies in hash map.

for i in a:
if i in hm: hm[i] + = 1
else : hm[i] = 1

# Return frequency
# of x (Assumes that
# countFreq() is
# called before)
def query(x):
if x in hm:
return hm[x]
return 0

# Driver program
a = [ 1 , 3 , 2 , 4 , 2 , 1 ]
countFreq(a)
print (query( 2 ))
print (query( 3 ))
print (query( 5 ))

# This code is contributed
# by Ansu Kumari``````

## C#

``````// C# program to answer
// queries for frequencies
// in O(1) time.
using System;
using System.Collections.Generic;
class GFG
{

static Dictionary < int , int > hm = new Dictionary< int , int >();

static void countFreq( int []a, int n)
{
// Insert elements and their
// frequencies in hash map.
for ( int i = 0; i < n; i++)
if (hm.ContainsKey(a[i]) )
hm[a[i]] = hm[a[i]] + 1;
}

// Return frequency of x (Assumes that
// countFreq() is called before)
static int query( int x)
{
if (hm.ContainsKey(x))
return hm[x];
return 0;
}

// Driver code
public static void Main(String[] args)
{
int []a = {1, 3, 2, 4, 2, 1};
int n = a.Length;
countFreq(a, n);
Console.WriteLine(query(2));
Console.WriteLine(query(3));
Console.WriteLine(query(5));
}
}

// This code is contributed by 29AjayKumar``````

``````2
1
0``````