在一個數(shù)組中找出出現(xiàn)次數(shù)最多的那個元素的數(shù)值
處理數(shù)據(jù)的核心思路是:
- 第一步,根據(jù)原始數(shù)組計算每個元素出現(xiàn)的次數(shù);
- 第二步,根據(jù)第一步的結(jié)果,找到出現(xiàn)次數(shù)最多的元素。
這里的數(shù)據(jù)操作包括以下 3 個:
- 查找: 看能否在數(shù)據(jù)結(jié)構(gòu)中查找到這個元素,也就是判斷元素是否出現(xiàn)過。
- 新增: 針對沒有出現(xiàn)過的情況,新增這個元素。
- 改動: 針對出現(xiàn)過的情況,需要對這個元素出現(xiàn)的次數(shù)加 1。
常用的分析方法可以參考下面的 3 個步驟:
- 首先,這段代碼對數(shù)據(jù)進行了哪些操作?
- 其次,這些操作中,哪個操作最影響效率,對時間復(fù)雜度的損耗最大?
- 最后,哪種數(shù)據(jù)結(jié)構(gòu)最能幫助你提高數(shù)據(jù)操作的使用效率?
經(jīng)過我們的分析,數(shù)據(jù)處理的基本操作只有 3 個,分別是增、刪、查。其中,增和刪又可以細分為在數(shù)據(jù)結(jié)構(gòu)中間的增和刪,以及在數(shù)據(jù)結(jié)構(gòu)最后的增和刪。區(qū)別就在于原數(shù)據(jù)的位置是否發(fā)生改變。查找又可以細分為按照位置條件的查找和按照數(shù)據(jù)數(shù)值特征的查找。幾乎所有的數(shù)據(jù)處理,都是這些基本操作的組合和疊加。