1. 程式人生 > >【C語言】簡單思路找一個數組中重複次數最多的數

【C語言】簡單思路找一個數組中重複次數最多的數

#include <stdio.h>
int main()
{
    int a[1024];
    int b[1024] = {0};                           //初始化每個數出現一次
    
    int i = 0;
    scanf("%d", &a[i]);
    
    while(a[i] != 0)
    {
        i++;
        scanf("%d", &a[i]);
    }
    
    for(int j = 0; j < i; j++)
    {
        for(int k = j+1; k < i; k++)
        {
            if(a[j] == a[k])
            {
                b[j]++;                                           //每重複一次,次數加一
            }
        }
    }
    
    int max = b[0];                                         //找到重複次數最多的那個數重複的次數
    for(int j = 1; j < i; j++)
    {
        if(max < b[j])
        {
            max = b[j];
        }
    }
    
    int pp = 0;                                               //由次數又反過來找到那個數的位置
    int yy = 0;
    while(max != b[pp])
    {
        pp++;
        
    }
    
    printf("%d", a[pp]);
    
    
    
    return 0;
}

相關推薦

C語言簡單思路個數重複次數多的數

#include <stdio.h> int main() {     int a[1024];     int b[1024] = {0};                           //初始化每個數出現一次          int i = 0;

個數重複次數多的數

使用map映色表,通過引入map表來記錄每一個元素出現的次數。 bool find_most_frequency_number(int *arr, int size, int &val) { if (a == NULL || size <= 0) r

C語言統計數字在排序數出現的次數

語言 個數 統計 ret r+ () class tdi times //數字在排序數組中出現的次數。 //統計一個數字在排序數組中出現的次數。比如:排序數組{1,2,3,3,3,3,4,5}和數字3,因為3出現了4次,因此輸出4. #include <stdio

Problem A: 零起點學演算法91——個數出現次數多的那個元素

#include<stdio.h> int main() { int n,a[20],b[20]={0}; while(scanf("%d",&n)!=EOF) { for(int i=0;i<n;i++) {

java個數出現次數多的那個元素

方法一: import java.util.*; public class TestMain { private static HashMap<String, Integer> map; public static HashMap<Stri

查詢個數出現次數多的值(長度為1000)

今天有一道面試題就是這個問題,然後我自己的解決方法是這樣的: var findMost = function(arr){ let arrL=[],arrN=[],count=1; //定義兩個陣列 一個存出現次數 一個存出

C語言簡單排序(三)選擇排序

一、演算法框圖 二、程式碼實現 /******************** 名稱:選擇排序 作者:豆豆 ********************/ #include<stdio.h> #define LENGTH 6 //巨集定義數列長度為

C語言簡單的除錯技巧

little fairy 的第三篇部落格。這次我們主要是學習在vs2012中的除錯。除錯的基本步驟。First:在需要除錯的步驟前點選。Second:點選啟動除錯按鈕或者F5。Third:點選逐語句按鈕或F11,運用逐語句,逐過程和跳出按鈕進行除錯。Finally:點選停止除

C語言簡單的瞭解遞迴(求斐波那契,n的階乘,字串長度,把一個整型(無符號),轉化為字元型並打印出來)

簡單瞭解遞迴1.什麼是遞迴???程式設計程式呼叫自身的程式設計技巧稱為遞迴( recursion)遞迴做為一種演算法在程式設計語言中廣泛應用。 一個過程或函式在其定義或說明中有直接 或間接呼叫自身的一種方法,它通常把一個大型複雜的問題層層轉化為一個與原問題相似的 規模較小的問

C語言個數重複的元素

在一個數組中的數字是連續的,但是這個陣列中有一個數重複出現了一次,找出這個數。 #include <stdio.h> int main() { int i; int tmp=10; int swap=0; int a[10]={1,3,5,

C語言在全系1000個學生,徵集慈善捐款當總數達到10萬的時候,停止捐款,統計人數,並輸出平均捐款數

//在全系1000個學生中,徵集慈善捐款當總數達到10萬的時候,停止捐款,統計人數,並輸出平均捐款數 #include <stdio.h> int main() { float sum=

個數出現次數超過n/3的數(c++實現)

題目要求如下: 令A是一個長度為n的正整數序列。試設計一個時間 和空間複雜度分別為O(n)和O(1) 的演算法,判斷A中 是否存在這樣的元素x,x在序列中出現次數超過n/3。 若存在這樣的x,則將其輸出。 實現思路: 、BM(Boyer-Moore Majority V

JAVA出List集合重複次數多的資料和次數

import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Ent

190104作業-刪除個數重複的元素

刪除一個數組中重複的元素。例如 1 ,2, 2,2,3,3,3,4,4,5,5,5,6,6,6 -> 1,2,3,4,5,6   #include <stdio.h> #include <stdlib.h> #define MAX 100 //首先考慮

個數重複元素出現多值,大的元素及出現次數次數相同時,取大值,優先考慮次數

#include <iostream> #include <string> #include <map> using namespace std; void maxNumTimes(int a[], int len, int b[])

C語言個數只有兩個數字是出現次,其他所有數字都出現了兩次。 出這兩個數字,程式設計實現。

一看到這道題,我想到了之前學習過的異或。我們知道兩個相同的數字異或的結果是 0,因為在計算機中,異或運算是按照二進位制位來運算的,相同為 0 ,相異為  1。任何數與 0 異或都等於它自己。既然我們要找出來一組數中不同的兩個數字,也可以採用這種方法。 但是這次不是直接異或,

C語言個數只有兩個數字是出現次,其他所有數字都出現了兩次。 出這兩個數字。

要求:一個數組中只有兩個數字是出現一次,其他所有數字都出現了兩次。 找出這兩個數字,程式設計實現。程式設計實現。 程式碼如下 int find(int arr[],int len) { int i,j,count; for(i = 0;i

c語言第一個只出現次的字元題目:在字串出第一個只出現次的字元

// 第一個只出現一次的字元題目:在字串中找出第一個只出現一次的字元。 // 如輸入“abaccdeff”,則輸出’b’。 #include <stdio.h> #include <string.h> char find_one(ch

C語言推斷個數是否為2的n次方

post data- popu scanf scan ng- 輸入 ont print //推斷一個數是否為2的n次方 #include <stdio.h> int is_two_n(int num) { if ((num&(num - 1))

C語言維陣列、二維陣列與指標

一維陣列和指標: 1、一維陣列名: 對於這樣的一維陣列:int a[4];  a作為陣列名就是我們陣列的首地址, a是一個地址常量 .  首先說說常量和變數的關係, 對於變數來說, 用箱子去比喻再好不過了, 宣告一個變數就宣告一個箱子,比如我們開闢出一個蘋果型別的箱子, 給這個變