【C語言】統計陣列中出現次數超過一半的數字
//統計陣列中出現次數超過一半的數字 #include <stdio.h> int Find(int *arr, int len) { int num = 0; //當前數字 int times = 0; //當前數字出現的次數 int i = 0; for (i = 0; i<len; i++) { if (times == 0) { num = arr[i]; times = 1; } else if (arr[i] == num) times++; else times--; } return num; } int main() { int arr[] = { 1, 5, 5.2, 5, 4, 3, 5, 5, 5 }; printf("超過一半的數是:%d\n", Find(arr, sizeof(arr) / sizeof(arr[0]))); return 0; }
相關推薦
【C語言】統計陣列中出現次數超過一半的數字
//統計陣列中出現次數超過一半的數字 #include <stdio.h> int Find(int *arr, int len) { int num = 0; //當
【劍指Offer】26陣列中出現次數超過一半的數字
題目描述 陣列中有一個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入一個長度為9的陣列{1,2,3,2,2,2,5,4,2}。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。 時間限制:1秒;空間限制:32768K;本題知識點:陣列 解題思路
統計陣列中出現次數超過一半的數字
題目描述 陣列中有一個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入一個長度為9的陣列{1,2,3,2,2,2,5,4,2}。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如
【C語言】統計隨機數中數字出現個數,並列印直方圖
實現功能:生成二十個隨機數。統計二十個數中,0-9數字出現的次數,並列印成直方圖 #include<stdio.h> #include<stdlib.h> #define N 20 int a[N],b[10]; void gen_rand
【Java】 劍指offer(39) 陣列中出現次數超過一半的數字 《劍指Offer》Java實現合集 《劍指Offer》Java實現合集
本文參考自《劍指offer》一書,程式碼採用Java語言。 更多:《劍指Offer》Java實現合集 題目 陣列中有一個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入一個長度為9的陣列{1, 2, 3, 2, 2, 2, 5, 4, 2}。由於數字2在陣列中出現
【Java】 劍指offer(40) 最小的k個數 《劍指Offer》Java實現合集 劍指offer(39) 陣列中出現次數超過一半的數字 《劍指Offer》Java實現合集
本文參考自《劍指offer》一書,程式碼採用Java語言。 更多:《劍指Offer》Java實現合集 題目 輸入n個整數,找出其中最小的k個數。例如輸入4、5、1、6、2、7、3、8這8個數字,則最小的4個數字是1、2、3、4。 思路 思路一:同劍指offer(39
【演算法】陣列中出現次數超過一半的數字
面試題39:陣列中超過一半的數字 陣列中有一個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入一個長度為9的陣列{1, 2, 3, 2, 2, 2, 5, 4, 2}。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。 解法1 數字超出一半
【劍指offer{25-30}】複雜連結串列的複製、字串的排列、陣列中出現次數超過一半的數字、最小的K個數、連續子陣列的最大和
複雜連結串列的複製、字串的排列、陣列中出現次數超過一半的數字、最小的K個數、連續子陣列的最大和 複雜連結串列的複製 題目描述 輸入一個複雜連結串列(每個節點中有節點值,以及兩個指標,一個指向下一個節
程式設計師面試題目總結--陣列(三)【旋轉陣列的最小數字、旋轉陣列中查詢指定數、兩個排序陣列所有元素中間值、陣列中重複次數最多的數、陣列中出現次數超過一半的數】
11、求旋轉陣列的最小數字 題目:輸入一個排好序的陣列的一個旋轉,輸出旋轉陣列的最小元素。 分析:陣列的旋轉:把一個數組最開始的若干個元素搬到陣列的末尾。例如陣列{3, 4, 5, 1, 2}為{1, 2, 3, 4, 5}的一個旋轉,該陣列的最小值為1。這道題最直觀的解
劍指offer66題--Java實現,c++實現和python實現 28.陣列中出現次數超過一半的數字
題目描述 陣列中有一個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入一個長度為9的陣列{1,2,3,2,2,2,5,4,2}。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。 C++ class Solution { public:
劍指offer之陣列中出現次數超過一半的數字
1.題目描述 陣列中有一個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入一個長度為9的陣列{1,2,3,2,2,2,5,4,2}。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。 2.問題分析 方法一:使用map,統計每個數字
劍指offer____陣列中出現次數超過一半的數字
陣列中有一個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入一個長度為9的陣列{1,2,3,2,2,2,5,4,2}。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。 class Solution { public: &nb
劍指offer——(5)陣列中出現次數超過一半的數字
三種思路可選。 public class Solution { /* 渣渣暴力求解法:時間複雜度為n!,從0位遍歷陣列,與當前位置的下一位數字判斷是否相等,相等則 count+1,將出現次數用countTemp儲存,每次迴圈比較一下有沒有出現次數更多的數字,
劍指Offer39:陣列中出現次數超過一半的數字
題目: 陣列中有一個數字出現的次數超過陣列長度的一半,請找出這個數字。 例如,輸入一個長度為9的陣列{1,2,3,2,2,2,5,4,2}.由於數字2在這個陣列中出現了5次,超過陣列 長度的一半,因此輸出2 分析: 若一個數組中有一個數字出現了陣列長度的一半以上,則必是這個陣列的中位數
劍指offer28 陣列中出現次數超過一半的數字(java)
題目 中有一個數字出現的次數超過陣列長度的一半,請找出這個數字。 例如輸入一個長度為9的陣列{1,2,3,2,2,2,5,4,2}。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。 思路 思路一(程式碼略) 先排序,然後找中位數 思路二
《劍指offer》系列 陣列中出現次數超過一半的數字(Java)
連結 牛客: 陣列中出現次數超過一半的數字 題目描述 陣列中有一個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入一個長度為9的陣列{1,2,3,2,2,2,5,4,2}。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。 思路
劍指offer之找出陣列中出現次數超過一半的數字
找出陣列中出現次數超過一半的數字 歡迎關注作者簡書 csdn傳送門 題目 一個數組中有一個數字的次數超過了陣列的一半,求出這個字元。如:int a[] = {2,3,2,2,2,2,2,5,4,1,2,3},求出超過一半的數字是2 分析 解法一
劍指Offer-39 陣列中出現次數超過一半的數字
題目: 陣列中有一個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入一個長度為9的陣列{1,2,3,2,2,2,5,4,2}。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。 解答: # -*- coding:utf-8 -*- cl
(劍指offer)陣列中出現次數超過一半的數字
時間限制:1秒 空間限制:32768K 熱度指數:248291 本題知識點: 陣列 題目描述 陣列中有一個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入一個長度為9的陣列{1,2,3,2,2,2,5,4,2}。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。
劍指offer題解(陣列中出現次數超過一半的數字)
題目描述 陣列中有一個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入一個長度為9的陣列{1,2,3,2,2,2,5,4,2}。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。 解題思路 先找到出現次數最多