日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

JAVA,10萬個Int值相加,怎么實現更有效率

瀏覽:192日期:2023-12-09 14:35:30

問題描述

10萬個int值相加,怎么實現更有效率。今天收拾面試題,看到以前被人問的這個題目。思索無果歡迎大家來討論討論!

昨天根據fonxian的回答試試了一下,發現并沒有什么區別!我的實現有問題?使用線程的算法,可能是因為線程需要額外的開銷所以會慢一點。使用map的就忽略了吧,map版本改了好多次都打不到想要的效果,看來map的開銷好大。分開計算和合并計算并沒有什么區別,分開計算的好處根本看不出來~~~~

2017-5-10感謝thomastao 的提醒,我重新整理了下方法,可以看出來點門道了。我水平有限就不總結了。各位看看就好!

public static void main(String[] args) {IntSumTest t = new IntSumTest(10000000);Long startDate1 = new Date().getTime();//方法注釋后的數值為執行時間(毫秒)//先用map去重,然后相乘。最后將結果相加t.mapCount(); //7255 8251 8002 7355//開啟多個線程相加,結果記錄到sum數組中。最后將sum數組相加。//t.threadCount(); //5 5 4 4 5 4 5 4 4 4//一個線程相加分10次相加,結果記錄到sum數組中。最后將sum數組相加。//t.reduceCount(); //4 2 3 3 3 3 4 3 2 3//直接相加//t.count();//11 10 10 10 10 10 12 13 11 11//使用計數方法//t.countSum(); //14 15 14 16 12 13 11 12 12 13Long endDate1 = new Date().getTime();System.out.println(endDate1- startDate1 ); }

public class IntSumTest { int[] valueNum = new int[10000000];//1000w個數 public IntSumTest(int maxNum){Random r = new Random();for(int i=0;i<valueNum.length;i++){ valueNum[i] = r.nextInt(maxNum);} } /** * 直接計算 * @return */ public long count(){long sum = 0;for(int i=0;i<valueNum.length;i++){ sum+= valueNum[i];}return sum; } /** * 使用計數方法計算 * 理論上的好處在于java棧內的管理方式是所有成員變量都會記錄 * @return */ public long countSum(){long sum = 0;for(int i=0;i<valueNum.length;i++){ sum = sum( sum,valueNum[i]);}return sum; } public long sum(long sum ,int num){return sum+num; } /** * 使用數組計數,然后在各個數字相乘,得到結果 * 該方法的好處在于可以釋放大量對象 * 缺點在于,如果數字的分布范圍太大,效果就不明顯 */ public long mapCount(){long sum = 0;Map<Integer,Integer> map = new HashMap<Integer,Integer>();for(int i=0;i<valueNum.length;i++){ map.put(valueNum[i],map.get(valueNum[i])==null?0:map.get(valueNum[i])+1);}for (Map.Entry<Integer, Integer> entry : map.entrySet()) { sum+= entry.getKey()*entry.getValue();}return sum; } /** * 多線程計算,分10組計算,分別匯總結果 */ public long threadCount(){long sum = 0;long[] sumNum = new long[10];for (int i = 0; i < 10; i++) { MyThread my = new MyThread(sumNum,valueNum,i); my.run();}for (int i = 0; i < 10; i++) { sum += sumNum[i];}return sum; } /** * 分10組計算,分別匯總結果 */ public long reduceCount(){long sum = 0;long[] sumNum = new long[10];for (int i = 0; i < 10; i++) { int temp = i*10000; long max = temp+10000; for (int j = temp; j < max; j++) {sumNum[i]+= valueNum[j]; }}for (int i = 0; i < 10; i++) { sum += sumNum[i];}return sum; }}

問題解答

回答1:

用MapReduce的思想或者多線程解決。10w個整數map成n組(例如10組),每組只需要計算1w的數的sum,然后reduce歸約,10個sum相加。

回答2:

一般來說先肉眼看有沒有規律,有規律了用公式算,沒規律了就老老實實的一個一個加吧。。。

標簽: java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产另类在线| 四虎影视精品| 国产二区精品| 久久网站免费观看| 久久久久国产精品一区三寸| 日韩中文字幕高清在线观看| 欧美国产免费| 久久成人高清| 日本一二区不卡| 99国产精品免费视频观看| 久久久9色精品国产一区二区三区| 激情国产在线| 久久精品导航| 伊人影院久久| 久久最新视频| 日韩免费精品| 久久一区欧美| 亚洲a一区二区三区| 香蕉精品视频在线观看| 首页欧美精品中文字幕| 97成人在线| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 国产一精品一av一免费爽爽| 国产日韩欧美高清免费| 国产成人精品福利| 亚洲激情中文在线| 国产精品中文字幕制服诱惑| 日韩网站中文字幕| 亚洲一级淫片| 丝袜美腿诱惑一区二区三区 | 国产精品一线| 99久久夜色精品国产亚洲狼| 亚洲精品国产精品粉嫩| 欧洲精品一区二区三区| 欧美午夜网站| 亚洲免费成人| 精品亚洲成人| 丝袜美腿高跟呻吟高潮一区| 麻豆国产精品视频| 亚洲精品高潮| 黄色不卡一区| 精品国产黄a∨片高清在线| 视频一区在线播放| 韩国三级一区| 国产一区三区在线播放| 日韩av资源网| 蜜桃久久精品一区二区| 激情六月综合| 亚洲性色av| 国产精品**亚洲精品| 日韩精品三区四区| 蜜臀av免费一区二区三区| 久久精品国产精品亚洲毛片| 日本一区中文字幕| 先锋影音久久久| 午夜久久福利| 精品欧美一区二区三区在线观看| 国产乱人伦精品一区| 亚洲一区二区三区免费在线观看| 日韩国产一区二区三区| 日韩av有码| 色偷偷色偷偷色偷偷在线视频| 久久av资源| 精品国产麻豆| 99精品电影| 99国产精品99久久久久久粉嫩| 尤物在线精品| 亚欧成人精品| 国产精品白丝久久av网站| 91精品一区| 麻豆91在线播放| 久久99影视| 国产成人久久| 99视频精品全国免费| 亚洲一区二区三区高清不卡| 免费在线观看日韩欧美| 国产毛片久久| 欧美三级第一页| 国产成人久久精品麻豆二区| 午夜国产精品视频| 日韩不卡一二三区| 高潮久久久久久久久久久久久久| 9999国产精品| 蜜桃免费网站一区二区三区| 国产日产高清欧美一区二区三区| 都市激情国产精品| 欧美日韩在线观看视频小说| 日韩中文字幕1| 麻豆久久一区| 亚洲专区在线| 国产精品久久久久9999高清| 欧美日韩视频免费观看| 亚洲精品日本| 亚洲国产成人二区| 夜夜嗨av一区二区三区网站四季av| 欧美日韩午夜| 午夜av一区| 免费日韩成人| 亚洲欧美日本国产| 深夜福利视频一区二区| 婷婷视频一区二区三区| 久久精品欧洲| 在线观看亚洲精品福利片| 国产a亚洲精品| 日韩av网站在线免费观看| 免费欧美一区| 精品九九久久| 久久精品在线| 国产一区二区视频在线看| 丝袜美腿成人在线| 少妇久久久久| 久久不见久久见国语| 一区二区三区网站| 亚洲激情av| 久久蜜桃资源一区二区老牛| 国产精品高颜值在线观看| 国产一区导航| 成人午夜精品| 91综合视频| 久久av影视| 日韩一区二区三区精品| 在线 亚洲欧美在线综合一区| 亚洲精品福利电影| 欧美激情日韩| 欧美精品国产白浆久久久久| 日韩制服丝袜先锋影音| 欧美特黄视频| 97精品中文字幕| 蜜桃久久久久| 国产精品久久久久久久久久白浆 | 91成人精品| 久久中文亚洲字幕| 97国产成人高清在线观看| 精品免费av| 精品中文在线| 久久精品系列| 国产精品久久久久蜜臀| 久久精品国产亚洲一区二区三区| 国产精品地址| 免费在线观看一区| 麻豆国产精品| 鲁鲁在线中文| 亚洲少妇诱惑| 六月婷婷一区| 国产精品网址| 国产精品一区毛片| 国产欧美一区二区精品久久久 | 亚洲视频国产| 亚洲精品1区| 一区二区电影在线观看| 日本国产欧美| 给我免费播放日韩视频| 亚洲五月婷婷| 婷婷综合福利| 91欧美在线| 99亚洲视频| 国产日韩欧美一区| 亚洲不卡av不卡一区二区| 天使萌一区二区三区免费观看| 国产情侣一区在线| 国产精品主播| 国产欧美自拍| 久久亚洲国产| 视频一区视频二区中文| 国产精品视频一区视频二区| 天堂8中文在线最新版在线| 欧美在线亚洲综合一区| 国产日产精品_国产精品毛片| 国产夫妻在线| 丝瓜av网站精品一区二区 | 国内自拍视频一区二区三区| 九九综合在线| 成人国产精品久久| 精品久久影院| 91成人在线网站| 亚洲一区二区网站| 伊伊综合在线| 男女男精品视频网| 99久精品视频在线观看视频| 国产精品日本一区二区不卡视频| 国产亚洲在线| 日韩成人三级| 欧美日一区二区三区在线观看国产免 | 日韩激情一区| 国产精品1区| 7777精品| 亚洲aa在线| 日韩中文欧美在线| 日韩视频一区二区三区在线播放免费观看| 国产在线一区不卡| 亚洲精品麻豆| 日韩精品免费视频一区二区三区| 亚洲国产一区二区三区在线播放| 精品国产精品久久一区免费式 | 国产亚洲毛片| 欧美日韩一二三四| 欧美sss在线视频| 成人久久久久| 国产亚洲一区二区手机在线观看 | 欧美va天堂|