国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

<C#>找出數(shù)組中重復次數(shù)最多的數(shù)值

2019-11-17 02:46:32
字體:
供稿:網(wǎng)友

<C#>找出數(shù)組中重復次數(shù)最多的數(shù)值

給定一個int數(shù)組,里面存在重復的數(shù)值,如何找到重復次數(shù)最多的數(shù)值呢?

這是在某社區(qū)上有人提出的問題,我想到的解決方法是分組。

1、先對數(shù)組中的所有元素進行分組,那么,重復的數(shù)值肯定會被放到一組中;

2、將分組進行排序,排序條件是分組中的元素個數(shù);

3、元素數(shù)量最多的那個分組中的數(shù)值就是重復次數(shù)最多的。

基于以上思路,可以寫出以下代碼:

            // 示例數(shù)組,90重復4次,1重復2次,3重復3次            int[] arr = { 1, 1, 3, 3, 3, 7, 50, 15, 15, 90, 90, 90, 90, 105 };                        /*             * 先將數(shù)組各元素進行分組,             * 然后將每個組中的元素個數(shù)按降序排列             */            var res = from n in arr                      group n by n into g                      orderby g.Count() descending                      select g;            // 分組中第一個組就是重復最多的            var gr = res.First();            foreach (int x in gr)            {                Console.Write(" {0}",x);            }

在示例數(shù)組中,1出現(xiàn)了兩次,3出現(xiàn)了三次,15出現(xiàn)兩次,90出現(xiàn)四次。顯然,重復次數(shù)最多的是90。使用Linq語句將源數(shù)組中的所有元素,按照元素自身進行分組,然后用Count方法計算每個組中的元素個數(shù),并按降序排列。得到的結(jié)果中的第一個分組,其里面的元素自然是重復次數(shù)最多的了。

故輸出結(jié)果為:

由于我的人品值有限,只能想出這個較為簡單的方法處理,各位觀眾,要是你有更簡便的方法,一定要貼出來,不要“金屋藏嬌”。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 崇明县| 琼结县| 平顶山市| 临汾市| 湖北省| 礼泉县| 南投市| 潮州市| 临澧县| 衡东县| 麦盖提县| 临高县| 潮州市| 东源县| 灌云县| 当阳市| 思茅市| 若尔盖县| 密云县| 上饶市| 隆林| 游戏| 平度市| 平昌县| 竹溪县| 太白县| 青田县| 玉龙| 隆昌县| 张家川| 高陵县| 鄂伦春自治旗| 大田县| 香港| 信阳市| 衡东县| 顺平县| 阳城县| 郧西县| 定兴县| 鹤山市|