原文:在一個整型數組中有一個元素的出現次數超過了數組長度的一半,試設計一個 在時間上盡可能高效的算法,找出這個元素。

題目:在一個整型數組中有一個元素的出現次數超過了數組長度的一半,試設計一個 在時間上盡可能高效的算法,找出這個元素。要求: 給出算法的基本設計思想。 根據設計思想,采用C或C 或Java語言描述算法,關鍵之處給出注釋。 說明你所設計算法的時間復雜度和空間復雜度。 算法實現: 時間復雜度為O n 。空間復雜度O 。 另解 本題最直接的方法就是對每個數字進行排序。然后輸出出現次數最大的數字即可,但排序 ...

2014-10-28 16:19 0 2354 推薦指數:

查看詳情

數組中有一個數字出現次數超過了數組長度一半找出這個數

數組中有一個數字出現次數超過了數組長度一半找出這個數 這個算法時間復雜度是O(n),另外用了兩個輔助變量。 k用於臨時存儲數組中的數據,j用於存儲某個數出現次數。 開始時k存儲數組中的第一個數,j為0,如果數組出現的數於k相等,則j加1,否則就減1,如果j為0,就把當前數組中的數賦給k ...

Wed Sep 16 23:16:00 CST 2015 0 2529
【c語言】數組中有一個數字出現次數超過數組長度一半,請找出這個數字

題目:數組中有一個數字出現次數超過數組長度一半,請找出這個數字。 比如輸入一個長度為9的數組{1,2。3。2,2。2。5,4。2}, 因為數組中數字2出現了5次,超過數組長度一半,因此輸出2 一種辦法是先把數組排序。那么超過一半元素一定是數組最中間的元素 ...

Fri Jun 30 01:00:00 CST 2017 0 2338
找出數組出現次數超過一半元素

參考地址:http://www.cnblogs.com/DayByDay/p/3871834.html?utm_source=tuicool&utm_medium=referral 題目:找出數組出現次數超過一半元素(前提是該元素一定存在) 解法1:每次刪除數組中兩個不同的元素 ...

Wed Dec 23 01:02:00 CST 2015 0 4435
js判斷一個元素數組出現次數

重點有三個:1,通過嵌套for循環,把數組的每一項,跟整個數組中的所有項,比較一遍;2,通過if判斷,如果有相等的項,count++,並把相等的項置為-1,這樣可以判斷等於-1的就是重復的,就不再加入新數組了;3,用if判斷!=-1,決定是否加入新數組中,返回。 ...

Thu Nov 28 01:16:00 CST 2019 0 1477
一個簡單的算法---實現找出數組一個數字出現次數最多的數字

程序員=編程語言基礎+數據結構+算法 這幾天繼續回歸java基礎,以及學習數據結構的知識,這里實現一個簡單的算法----找出數組一個數字出現次數最多的數字的算法 打印結果如下: 出現次數最多的數字為:2 該數字一共出現6次 ...

Wed Nov 21 05:10:00 CST 2012 0 6959
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM